Mercurial > hg > xemacs-beta
annotate lib-src/digest-doc.c @ 5070:b0f4adffca7d
fix so that CL docstrings (with &key, etc.) handled properly
-------------------- ChangeLog entries follow: --------------------
lisp/ChangeLog addition:
2010-02-23 Ben Wing <ben@xemacs.org>
* autoload.el:
* autoload.el (make-autoload):
* cl-macs.el (cl-function-arglist):
* cl-macs.el (cl-transform-lambda):
Don't add argument list with the tag "Common Lisp lambda list:";
instead add in "standard" form using "arguments:" and omitting the
function name. Add an arg to `cl-function-arglist' to omit the
name and use it in autoload.el instead of just hacking it off.
* help.el:
* help.el (function-arglist):
* help.el (function-documentation-1): New.
Extract out common code to recognize and/or strip the arglist from
documentation into `function-documentation-1'. Use in
`function-arglist' and `function-documentation'. Modify
`function-arglist' so it looks for the `arguments: ' stuff in all
doc strings, not just subrs/autoloads, so that CL functions get
recognized properly. Change the regexp used to match "arguments: "
specs to allow nested parens inside the arg list (happens when you
have a default value specified in a CL arglist).
author | Ben Wing <ben@xemacs.org> |
---|---|
date | Tue, 23 Feb 2010 01:12:13 -0600 |
parents | ecf1ebac70d8 |
children | ed624ab64583 06dd936cde16 |
rev | line source |
---|---|
428 | 1 /* Give this program DOCSTR.mm.nn as standard input |
2 and it outputs to standard output | |
3 a file of nroff output containing the doc strings. | |
4 | |
5 See also sorted-doc.c, which produces similar output | |
6 but in texinfo format and sorted by function/variable name. */ | |
7 | |
8 #ifdef emacs | |
438 | 9 #include <config.h> |
428 | 10 #endif |
11 #include <stdio.h> | |
12 | |
13 int | |
2367 | 14 main (int argc, char **argv) |
428 | 15 { |
16 register int ch; | |
17 register int notfirst = 0; | |
18 | |
19 printf (".TL\n"); | |
613 | 20 printf ("Command Summary for XEmacs\n"); |
21 printf (".AU\nThe XEmacs Advocacy Group\n"); | |
428 | 22 while ((ch = getchar ()) != EOF) |
23 { | |
24 if (ch == '\037') | |
25 { | |
26 if (notfirst) | |
27 printf ("\n.DE"); | |
28 else | |
29 notfirst = 1; | |
30 | |
31 printf ("\n.SH\n"); | |
32 | |
33 ch = getchar (); | |
34 printf (ch == 'F' ? "Function " : "Variable "); | |
35 | |
36 while ((ch = getchar ()) != '\n') /* Changed this line */ | |
37 { | |
38 if (ch != EOF) | |
39 putchar (ch); | |
40 else | |
41 { | |
42 ungetc (ch, stdin); | |
43 break; | |
44 } | |
45 } | |
46 printf ("\n.DS L\n"); | |
47 } | |
48 else | |
49 putchar (ch); | |
50 } | |
51 return 0; | |
52 } |