Mercurial > emacs
changeset 5604:32ac07bd58ef
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.
author | Roland McGrath <roland@gnu.org> |
---|---|
date | Sun, 16 Jan 1994 08:35:01 +0000 |
parents | f369023b3cc3 |
children | fcf3556282dc |
files | lib-src/make-docfile.c |
diffstat | 1 files changed, 20 insertions(+), 7 deletions(-) [+] |
line wrap: on
line diff
--- a/lib-src/make-docfile.c Sun Jan 16 04:35:38 1994 +0000 +++ b/lib-src/make-docfile.c Sun Jan 16 08:35:01 1994 +0000 @@ -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 @@ 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 @@ 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 @@ 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 @@ *p = '\0'; /* Output them. */ fprintf (outfile, "\n\n"); - write_c_args (outfile, argbuf, minargs, maxargs); + write_c_args (outfile, buf, argbuf, minargs, maxargs); } } }