diff options
author | Roland McGrath <roland@gnu.org> | 1994-01-16 08:35:01 +0000 |
---|---|---|
committer | Roland McGrath <roland@gnu.org> | 1994-01-16 08:35:01 +0000 |
commit | 069ad9ead4a4f1f48dceb3677ed4601799034a8f (patch) | |
tree | 4fc22149d05a371d9e3c2a2f7a96db88b61d8b12 /lib-src/make-docfile.c | |
parent | a1d528953c09ac8f78cc5efd9bc64265412221d3 (diff) | |
download | emacs-069ad9ead4a4f1f48dceb3677ed4601799034a8f.tar.gz |
Make the argument list output look more like the Lisp docstrings do.
(write_c_args): Take new arg FUNC. Make output look like lisp call
prototypes: (function ARG1 ARG2), upcasing arg names.
(scan_c_file): Pass BUF to write_c_args for FUNC arg.
Diffstat (limited to 'lib-src/make-docfile.c')
-rw-r--r-- | lib-src/make-docfile.c | 27 |
1 files changed, 20 insertions, 7 deletions
diff --git a/lib-src/make-docfile.c b/lib-src/make-docfile.c index 366c784075f..b865845cfcf 100644 --- a/lib-src/make-docfile.c +++ b/lib-src/make-docfile.c @@ -1,5 +1,5 @@ /* Generate doc-string file for GNU Emacs from source files. - Copyright (C) 1985, 1986, 1992, 1993 Free Software Foundation, Inc. + Copyright (C) 1985, 1986, 1992, 1993, 1994 Free Software Foundation, Inc. This file is part of GNU Emacs. @@ -153,19 +153,23 @@ read_c_string (infile, printflag) return c; } -/* Write to file OUT the argument names of the function whose text is in BUF. +/* Write to file OUT the argument names of function FUNC, whose text is in BUF. MINARGS and MAXARGS are the minimum and maximum number of arguments. */ -write_c_args (out, buf, minargs, maxargs) +write_c_args (out, func, buf, minargs, maxargs) FILE *out; - char *buf; + char *func, *buf; int minargs, maxargs; { register char *p; int in_ident = 0; int just_spaced = 0; + int need_space = 1; - fprintf (out, "arguments: "); + fprintf (out, "(%s", func); + + if (*buf == '(') + ++buf; for (p = buf; *p; p++) { @@ -184,6 +188,9 @@ write_c_args (out, buf, minargs, maxargs) in_ident = 1; ident_start = 1; + if (need_space) + putc (' ', out); + if (minargs == 0 && maxargs > 0) fprintf (out, "&optional "); just_spaced = 1; @@ -216,9 +223,15 @@ write_c_args (out, buf, minargs, maxargs) just_spaced = 0; } else if (c != ' ' || ! just_spaced) - putc (c, out); + { + if (c >= 'a' && c <= 'z') + /* Upcase the letter. */ + c += 'A' - 'a'; + putc (c, out); + } just_spaced = (c == ' '); + need_space = 0; } } @@ -398,7 +411,7 @@ scan_c_file (filename, mode) *p = '\0'; /* Output them. */ fprintf (outfile, "\n\n"); - write_c_args (outfile, argbuf, minargs, maxargs); + write_c_args (outfile, buf, argbuf, minargs, maxargs); } } } |