Mercurial > emacs
annotate lib-src/digest-doc.c @ 109026:c138aa96dae8
Add preliminary describe-package functionality, and some cleanup.
* help-mode.el (help-package-def): New button type.
* menu-bar.el: Move package-list-packages binding here from
package.el.
* emacs-lisp/package.el: Move package-list-packages binding to
menu-bar.el.
(describe-package, describe-package-1, package--dir): New funs.
(package-activate-1): Use package--dir.
* emacs-lisp/package-x.el (gnus-article-buffer): Require package.
author | Chong Yidong <cyd@stupidchicken.com> |
---|---|
date | Sat, 19 Jun 2010 18:36:51 -0400 |
parents | 1d1d5d9bd884 |
children | 52b76722152a 376148b31b5e |
rev | line source |
---|---|
42260 | 1 /* Give this program DOC-mm.nn.oo as standard input and it outputs to |
36226 | 2 standard output a file of nroff output containing the doc strings. |
3 | |
94828
3a4bc081639c
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
79748
diff
changeset
|
4 Copyright (C) 1987, 1994, 2001, 2002, 2003, 2004, 2005, 2006, 2007, |
106815 | 5 2008, 2009, 2010 Free Software Foundation, Inc. |
36226 | 6 |
94828
3a4bc081639c
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
79748
diff
changeset
|
7 This file is part of GNU Emacs. |
9 | 8 |
94828
3a4bc081639c
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
79748
diff
changeset
|
9 GNU Emacs is free software: you can redistribute it and/or modify |
3a4bc081639c
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
79748
diff
changeset
|
10 it under the terms of the GNU General Public License as published by |
3a4bc081639c
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
79748
diff
changeset
|
11 the Free Software Foundation, either version 3 of the License, or |
3a4bc081639c
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
79748
diff
changeset
|
12 (at your option) any later version. |
36226 | 13 |
94828
3a4bc081639c
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
79748
diff
changeset
|
14 GNU Emacs is distributed in the hope that it will be useful, |
3a4bc081639c
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
79748
diff
changeset
|
15 but WITHOUT ANY WARRANTY; without even the implied warranty of |
3a4bc081639c
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
79748
diff
changeset
|
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
3a4bc081639c
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
79748
diff
changeset
|
17 GNU General Public License for more details. |
36226 | 18 |
94828
3a4bc081639c
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
79748
diff
changeset
|
19 You should have received a copy of the GNU General Public License |
3a4bc081639c
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
79748
diff
changeset
|
20 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. |
42411
c67f88ae0e05
Remove trailing whitespaces.
Pavel Janík <Pavel@Janik.cz>
parents:
42260
diff
changeset
|
21 |
94828
3a4bc081639c
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
79748
diff
changeset
|
22 |
3a4bc081639c
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
79748
diff
changeset
|
23 See also sorted-doc.c, which produces similar output |
3a4bc081639c
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
79748
diff
changeset
|
24 but in texinfo format and sorted by function/variable name. */ |
9 | 25 |
26 #include <stdio.h> | |
9491
dd3b83e4ceb0
Eliminate some -Wall warnings.
David J. MacKenzie <djm@gnu.org>
parents:
9
diff
changeset
|
27 |
71195
2a9a6318a6db
[DOS_NT] <top level>: Include fcntl.h and io.h.
Eli Zaretskii <eliz@gnu.org>
parents:
68647
diff
changeset
|
28 #ifdef DOS_NT |
2a9a6318a6db
[DOS_NT] <top level>: Include fcntl.h and io.h.
Eli Zaretskii <eliz@gnu.org>
parents:
68647
diff
changeset
|
29 #include <fcntl.h> /* for O_BINARY */ |
2a9a6318a6db
[DOS_NT] <top level>: Include fcntl.h and io.h.
Eli Zaretskii <eliz@gnu.org>
parents:
68647
diff
changeset
|
30 #include <io.h> /* for setmode */ |
2a9a6318a6db
[DOS_NT] <top level>: Include fcntl.h and io.h.
Eli Zaretskii <eliz@gnu.org>
parents:
68647
diff
changeset
|
31 #endif |
2a9a6318a6db
[DOS_NT] <top level>: Include fcntl.h and io.h.
Eli Zaretskii <eliz@gnu.org>
parents:
68647
diff
changeset
|
32 |
9491
dd3b83e4ceb0
Eliminate some -Wall warnings.
David J. MacKenzie <djm@gnu.org>
parents:
9
diff
changeset
|
33 int |
9 | 34 main () |
35 { | |
36 register int ch; | |
37 register int notfirst = 0; | |
38 | |
71195
2a9a6318a6db
[DOS_NT] <top level>: Include fcntl.h and io.h.
Eli Zaretskii <eliz@gnu.org>
parents:
68647
diff
changeset
|
39 #ifdef DOS_NT |
2a9a6318a6db
[DOS_NT] <top level>: Include fcntl.h and io.h.
Eli Zaretskii <eliz@gnu.org>
parents:
68647
diff
changeset
|
40 /* DOC is a binary file. */ |
2a9a6318a6db
[DOS_NT] <top level>: Include fcntl.h and io.h.
Eli Zaretskii <eliz@gnu.org>
parents:
68647
diff
changeset
|
41 if (!isatty (fileno (stdin))) |
2a9a6318a6db
[DOS_NT] <top level>: Include fcntl.h and io.h.
Eli Zaretskii <eliz@gnu.org>
parents:
68647
diff
changeset
|
42 setmode (fileno (stdin), O_BINARY); |
2a9a6318a6db
[DOS_NT] <top level>: Include fcntl.h and io.h.
Eli Zaretskii <eliz@gnu.org>
parents:
68647
diff
changeset
|
43 #endif |
2a9a6318a6db
[DOS_NT] <top level>: Include fcntl.h and io.h.
Eli Zaretskii <eliz@gnu.org>
parents:
68647
diff
changeset
|
44 |
9 | 45 printf (".TL\n"); |
46 printf ("Command Summary for GNU Emacs\n"); | |
47 printf (".AU\nRichard M. Stallman\n"); | |
48 while ((ch = getchar ()) != EOF) | |
49 { | |
50 if (ch == '\037') | |
51 { | |
52 if (notfirst) | |
53 printf ("\n.DE"); | |
54 else | |
55 notfirst = 1; | |
56 | |
57 printf ("\n.SH\n"); | |
58 | |
59 ch = getchar (); | |
60 printf (ch == 'F' ? "Function " : "Variable "); | |
61 | |
62 while ((ch = getchar ()) != '\n') /* Changed this line */ | |
63 { | |
64 if (ch != EOF) | |
65 putchar (ch); | |
66 else | |
67 { | |
68 ungetc (ch, stdin); | |
69 break; | |
70 } | |
71 } | |
72 printf ("\n.DS L\n"); | |
73 } | |
74 else | |
75 putchar (ch); | |
76 } | |
77 return 0; | |
78 } | |
52401 | 79 |
80 /* arch-tag: 2ba2c9b0-4157-4eba-bd9f-967e3677e35f | |
81 (do not change this comment) */ |