Commit | Line | Data |
---|---|---|
a43dbef8 | 1 | /* Give this program DOC-mm.nn.oo as standard input and it outputs to |
b3ae7a0a | 2 | standard output a file of nroff output containing the doc strings. |
8523fe3b | 3 | |
294981c7 GM |
4 | Copyright (C) 1987, 1994, 2001, 2002, 2003, 2004, 2005, 2006, 2007, |
5 | 2008 Free Software Foundation, Inc. | |
b3ae7a0a | 6 | |
294981c7 | 7 | This file is part of GNU Emacs. |
b3ae7a0a | 8 | |
294981c7 GM |
9 | GNU Emacs is free software: you can redistribute it and/or modify |
10 | it under the terms of the GNU General Public License as published by | |
11 | the Free Software Foundation, either version 3 of the License, or | |
12 | (at your option) any later version. | |
b3ae7a0a | 13 | |
294981c7 GM |
14 | GNU Emacs is distributed in the hope that it will be useful, |
15 | but WITHOUT ANY WARRANTY; without even the implied warranty of | |
16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
17 | GNU General Public License for more details. | |
b3ae7a0a | 18 | |
294981c7 GM |
19 | You should have received a copy of the GNU General Public License |
20 | along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. | |
f22d4785 | 21 | |
294981c7 GM |
22 | |
23 | See also sorted-doc.c, which produces similar output | |
24 | but in texinfo format and sorted by function/variable name. */ | |
8523fe3b JB |
25 | |
26 | #include <stdio.h> | |
340ff9de | 27 | |
1b178b99 EZ |
28 | #ifdef DOS_NT |
29 | #include <fcntl.h> /* for O_BINARY */ | |
30 | #include <io.h> /* for setmode */ | |
31 | #endif | |
32 | ||
340ff9de | 33 | int |
8523fe3b JB |
34 | main () |
35 | { | |
36 | register int ch; | |
37 | register int notfirst = 0; | |
38 | ||
1b178b99 EZ |
39 | #ifdef DOS_NT |
40 | /* DOC is a binary file. */ | |
41 | if (!isatty (fileno (stdin))) | |
42 | setmode (fileno (stdin), O_BINARY); | |
43 | #endif | |
44 | ||
8523fe3b JB |
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 | } | |
ab5796a9 MB |
79 | |
80 | /* arch-tag: 2ba2c9b0-4157-4eba-bd9f-967e3677e35f | |
81 | (do not change this comment) */ |