Mercurial > hg > xemacs-beta
annotate lib-src/digest-doc.c @ 5406:061f4f90f874
Convert lib-src/ to GPLv3.
author | Mike Sperber <sperber@deinprogramm.de> |
---|---|
date | Mon, 18 Oct 2010 14:02:19 +0200 |
parents | ed624ab64583 |
children |
rev | line source |
---|---|
5406
061f4f90f874
Convert lib-src/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents:
5091
diff
changeset
|
1 /* Give this program DOC-mm.nn.oo as standard input and it outputs to |
061f4f90f874
Convert lib-src/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents:
5091
diff
changeset
|
2 standard output a file of nroff output containing the doc strings. |
061f4f90f874
Convert lib-src/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents:
5091
diff
changeset
|
3 |
061f4f90f874
Convert lib-src/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents:
5091
diff
changeset
|
4 Copyright (C) 1987, 1994, 2001, 2002, 2003, 2004, 2005, 2006, 2007, |
061f4f90f874
Convert lib-src/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents:
5091
diff
changeset
|
5 2008, 2009, 2010 Free Software Foundation, Inc. |
061f4f90f874
Convert lib-src/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents:
5091
diff
changeset
|
6 |
061f4f90f874
Convert lib-src/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents:
5091
diff
changeset
|
7 This file is part of XEmacs. |
061f4f90f874
Convert lib-src/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents:
5091
diff
changeset
|
8 |
061f4f90f874
Convert lib-src/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents:
5091
diff
changeset
|
9 XEmacs is free software: you can redistribute it and/or modify |
061f4f90f874
Convert lib-src/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents:
5091
diff
changeset
|
10 it under the terms of the GNU General Public License as published by |
061f4f90f874
Convert lib-src/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents:
5091
diff
changeset
|
11 the Free Software Foundation, either version 3 of the License, or |
061f4f90f874
Convert lib-src/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents:
5091
diff
changeset
|
12 (at your option) any later version. |
428 | 13 |
5406
061f4f90f874
Convert lib-src/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents:
5091
diff
changeset
|
14 XEmacs is distributed in the hope that it will be useful, |
061f4f90f874
Convert lib-src/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents:
5091
diff
changeset
|
15 but WITHOUT ANY WARRANTY; without even the implied warranty of |
061f4f90f874
Convert lib-src/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents:
5091
diff
changeset
|
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
061f4f90f874
Convert lib-src/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents:
5091
diff
changeset
|
17 GNU General Public License for more details. |
428 | 18 |
5406
061f4f90f874
Convert lib-src/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents:
5091
diff
changeset
|
19 You should have received a copy of the GNU General Public License |
061f4f90f874
Convert lib-src/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents:
5091
diff
changeset
|
20 along with XEmacs. If not, see <http://www.gnu.org/licenses/>. |
061f4f90f874
Convert lib-src/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents:
5091
diff
changeset
|
21 |
061f4f90f874
Convert lib-src/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents:
5091
diff
changeset
|
22 |
061f4f90f874
Convert lib-src/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents:
5091
diff
changeset
|
23 See also sorted-doc.c, which produces similar output |
061f4f90f874
Convert lib-src/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents:
5091
diff
changeset
|
24 but in texinfo format and sorted by function/variable name. */ |
061f4f90f874
Convert lib-src/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents:
5091
diff
changeset
|
25 |
428 | 26 #include <stdio.h> |
27 | |
5406
061f4f90f874
Convert lib-src/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents:
5091
diff
changeset
|
28 #ifdef DOS_NT |
061f4f90f874
Convert lib-src/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents:
5091
diff
changeset
|
29 #include <fcntl.h> /* for O_BINARY */ |
061f4f90f874
Convert lib-src/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents:
5091
diff
changeset
|
30 #include <io.h> /* for setmode */ |
061f4f90f874
Convert lib-src/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents:
5091
diff
changeset
|
31 #endif |
061f4f90f874
Convert lib-src/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents:
5091
diff
changeset
|
32 |
428 | 33 int |
5406
061f4f90f874
Convert lib-src/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents:
5091
diff
changeset
|
34 main () |
428 | 35 { |
36 register int ch; | |
37 register int notfirst = 0; | |
38 | |
5406
061f4f90f874
Convert lib-src/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents:
5091
diff
changeset
|
39 #ifdef DOS_NT |
061f4f90f874
Convert lib-src/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents:
5091
diff
changeset
|
40 /* DOC is a binary file. */ |
061f4f90f874
Convert lib-src/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents:
5091
diff
changeset
|
41 if (!isatty (fileno (stdin))) |
061f4f90f874
Convert lib-src/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents:
5091
diff
changeset
|
42 setmode (fileno (stdin), O_BINARY); |
061f4f90f874
Convert lib-src/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents:
5091
diff
changeset
|
43 #endif |
061f4f90f874
Convert lib-src/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents:
5091
diff
changeset
|
44 |
428 | 45 printf (".TL\n"); |
613 | 46 printf ("Command Summary for XEmacs\n"); |
47 printf (".AU\nThe XEmacs Advocacy Group\n"); | |
428 | 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 } |