Mercurial > emacs
annotate lib-src/digest-doc.c @ 88048:7c4da276fe17
(stat): Don't do a double check for networked drive.
author | Jason Rumney <jasonr@gnu.org> |
---|---|
date | Mon, 28 Jan 2008 17:44:11 +0000 |
parents | 5714ff101fd9 |
children | 606f2d163a64 3a4bc081639c |
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 | |
64769
6358e3c6075c
Update years in copyright notice; nfc.
Thien-Thi Nguyen <ttn@gnuvola.org>
parents:
64083
diff
changeset
|
4 Copyright (C) 1987, 1994, 2001, 2002, 2003, 2004, |
79748 | 5 2005, 2006, 2007, 2008 Free Software Foundation, Inc. |
36226 | 6 |
7 This file is part of GNU Emacs. | |
9 | 8 |
36226 | 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 | |
78257
1f2482de3237
Switch license to GPLv3 or later.
Glenn Morris <rgm@gnu.org>
parents:
75348
diff
changeset
|
11 the Free Software Foundation; either version 3, or (at your option) |
36226 | 12 any later version. |
13 | |
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. | |
18 | |
19 You should have received a copy of the GNU General Public License | |
42258 | 20 along with GNU Emacs; see the file COPYING. If not, write to the |
64083 | 21 Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, |
22 Boston, MA 02110-1301, USA. | |
42411
c67f88ae0e05
Remove trailing whitespaces.
Pavel Janík <Pavel@Janik.cz>
parents:
42260
diff
changeset
|
23 |
9 | 24 See also sorted-doc.c, which produces similar output |
25 but in texinfo format and sorted by function/variable name. */ | |
26 | |
27 #include <stdio.h> | |
9491
dd3b83e4ceb0
Eliminate some -Wall warnings.
David J. MacKenzie <djm@gnu.org>
parents:
9
diff
changeset
|
28 |
71195
2a9a6318a6db
[DOS_NT] <top level>: Include fcntl.h and io.h.
Eli Zaretskii <eliz@gnu.org>
parents:
68647
diff
changeset
|
29 #ifdef DOS_NT |
2a9a6318a6db
[DOS_NT] <top level>: Include fcntl.h and io.h.
Eli Zaretskii <eliz@gnu.org>
parents:
68647
diff
changeset
|
30 #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
|
31 #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
|
32 #endif |
2a9a6318a6db
[DOS_NT] <top level>: Include fcntl.h and io.h.
Eli Zaretskii <eliz@gnu.org>
parents:
68647
diff
changeset
|
33 |
9491
dd3b83e4ceb0
Eliminate some -Wall warnings.
David J. MacKenzie <djm@gnu.org>
parents:
9
diff
changeset
|
34 int |
9 | 35 main () |
36 { | |
37 register int ch; | |
38 register int notfirst = 0; | |
39 | |
71195
2a9a6318a6db
[DOS_NT] <top level>: Include fcntl.h and io.h.
Eli Zaretskii <eliz@gnu.org>
parents:
68647
diff
changeset
|
40 #ifdef DOS_NT |
2a9a6318a6db
[DOS_NT] <top level>: Include fcntl.h and io.h.
Eli Zaretskii <eliz@gnu.org>
parents:
68647
diff
changeset
|
41 /* 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
|
42 if (!isatty (fileno (stdin))) |
2a9a6318a6db
[DOS_NT] <top level>: Include fcntl.h and io.h.
Eli Zaretskii <eliz@gnu.org>
parents:
68647
diff
changeset
|
43 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
|
44 #endif |
2a9a6318a6db
[DOS_NT] <top level>: Include fcntl.h and io.h.
Eli Zaretskii <eliz@gnu.org>
parents:
68647
diff
changeset
|
45 |
9 | 46 printf (".TL\n"); |
47 printf ("Command Summary for GNU Emacs\n"); | |
48 printf (".AU\nRichard M. Stallman\n"); | |
49 while ((ch = getchar ()) != EOF) | |
50 { | |
51 if (ch == '\037') | |
52 { | |
53 if (notfirst) | |
54 printf ("\n.DE"); | |
55 else | |
56 notfirst = 1; | |
57 | |
58 printf ("\n.SH\n"); | |
59 | |
60 ch = getchar (); | |
61 printf (ch == 'F' ? "Function " : "Variable "); | |
62 | |
63 while ((ch = getchar ()) != '\n') /* Changed this line */ | |
64 { | |
65 if (ch != EOF) | |
66 putchar (ch); | |
67 else | |
68 { | |
69 ungetc (ch, stdin); | |
70 break; | |
71 } | |
72 } | |
73 printf ("\n.DS L\n"); | |
74 } | |
75 else | |
76 putchar (ch); | |
77 } | |
78 return 0; | |
79 } | |
52401 | 80 |
81 /* arch-tag: 2ba2c9b0-4157-4eba-bd9f-967e3677e35f | |
82 (do not change this comment) */ |