annotate lib-src/digest-doc.c @ 50336:15141bb6dc1f

(with-category-table): Use `make-symbol' to avoid variable capture. Set table within `unwind-protect'. Ensure table is restored in correct buffer. Add docstring. Basically, copy `with-syntax-table'.
author John Paul Wallington <jpw@pobox.com>
date Sat, 29 Mar 2003 02:56:35 +0000
parents c67f88ae0e05
children 695cf19ef79e d7ddb3e565de
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
42260
661375cd8c4c Comment change.
Richard M. Stallman <rms@gnu.org>
parents: 42258
diff changeset
1 /* Give this program DOC-mm.nn.oo as standard input and it outputs to
36226
c8fb06423da0 Add copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents: 9491
diff changeset
2 standard output a file of nroff output containing the doc strings.
c8fb06423da0 Add copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents: 9491
diff changeset
3
c8fb06423da0 Add copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents: 9491
diff changeset
4 Copyright (C) 1987, 1994, 2001 Free Software Foundation Inc.
c8fb06423da0 Add copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents: 9491
diff changeset
5
c8fb06423da0 Add copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents: 9491
diff changeset
6 This file is part of GNU Emacs.
9
bba832d91c66 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
7
36226
c8fb06423da0 Add copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents: 9491
diff changeset
8 GNU Emacs is free software; you can redistribute it and/or modify
c8fb06423da0 Add copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents: 9491
diff changeset
9 it under the terms of the GNU General Public License as published by
c8fb06423da0 Add copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents: 9491
diff changeset
10 the Free Software Foundation; either version 2, or (at your option)
c8fb06423da0 Add copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents: 9491
diff changeset
11 any later version.
c8fb06423da0 Add copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents: 9491
diff changeset
12
c8fb06423da0 Add copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents: 9491
diff changeset
13 GNU Emacs is distributed in the hope that it will be useful,
c8fb06423da0 Add copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents: 9491
diff changeset
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
c8fb06423da0 Add copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents: 9491
diff changeset
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
c8fb06423da0 Add copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents: 9491
diff changeset
16 GNU General Public License for more details.
c8fb06423da0 Add copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents: 9491
diff changeset
17
c8fb06423da0 Add copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents: 9491
diff changeset
18 You should have received a copy of the GNU General Public License
42258
c9f9c2f9d025 Comment change.
Richard M. Stallman <rms@gnu.org>
parents: 36226
diff changeset
19 along with GNU Emacs; see the file COPYING. If not, write to the
c9f9c2f9d025 Comment change.
Richard M. Stallman <rms@gnu.org>
parents: 36226
diff changeset
20 Free Software Foundation, Inc., 59 Temple Place - Suite 330,
c9f9c2f9d025 Comment change.
Richard M. Stallman <rms@gnu.org>
parents: 36226
diff changeset
21 Boston, MA 02111-1307, USA.
42411
c67f88ae0e05 Remove trailing whitespaces.
Pavel Janík <Pavel@Janik.cz>
parents: 42260
diff changeset
22
9
bba832d91c66 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
23 See also sorted-doc.c, which produces similar output
bba832d91c66 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
24 but in texinfo format and sorted by function/variable name. */
bba832d91c66 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
25
bba832d91c66 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
26 #include <stdio.h>
9491
dd3b83e4ceb0 Eliminate some -Wall warnings.
David J. MacKenzie <djm@gnu.org>
parents: 9
diff changeset
27
dd3b83e4ceb0 Eliminate some -Wall warnings.
David J. MacKenzie <djm@gnu.org>
parents: 9
diff changeset
28 int
9
bba832d91c66 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
29 main ()
bba832d91c66 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
30 {
bba832d91c66 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
31 register int ch;
bba832d91c66 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
32 register int notfirst = 0;
bba832d91c66 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
33
bba832d91c66 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
34 printf (".TL\n");
bba832d91c66 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
35 printf ("Command Summary for GNU Emacs\n");
bba832d91c66 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
36 printf (".AU\nRichard M. Stallman\n");
bba832d91c66 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
37 while ((ch = getchar ()) != EOF)
bba832d91c66 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
38 {
bba832d91c66 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
39 if (ch == '\037')
bba832d91c66 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
40 {
bba832d91c66 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
41 if (notfirst)
bba832d91c66 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
42 printf ("\n.DE");
bba832d91c66 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
43 else
bba832d91c66 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
44 notfirst = 1;
bba832d91c66 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
45
bba832d91c66 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
46 printf ("\n.SH\n");
bba832d91c66 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
47
bba832d91c66 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
48 ch = getchar ();
bba832d91c66 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
49 printf (ch == 'F' ? "Function " : "Variable ");
bba832d91c66 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
50
bba832d91c66 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
51 while ((ch = getchar ()) != '\n') /* Changed this line */
bba832d91c66 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
52 {
bba832d91c66 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
53 if (ch != EOF)
bba832d91c66 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
54 putchar (ch);
bba832d91c66 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
55 else
bba832d91c66 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
56 {
bba832d91c66 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
57 ungetc (ch, stdin);
bba832d91c66 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
58 break;
bba832d91c66 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
59 }
bba832d91c66 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
60 }
bba832d91c66 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
61 printf ("\n.DS L\n");
bba832d91c66 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
62 }
bba832d91c66 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
63 else
bba832d91c66 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
64 putchar (ch);
bba832d91c66 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
65 }
bba832d91c66 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
66 return 0;
bba832d91c66 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
67 }