annotate lib-src/digest-doc.c @ 62444:24bf25fa47db

(makefile-dependency-skip): New variable. (makefile-previous-dependency): Inline the new matcher, because it is too complex to work in both directions. (makefile-match-dependency): Eliminate `backward' arg (see above). Completely reimplemented so as to not sometimes go into an endless loop. It should also be more efficient, because first it only searches for `:', instead of applying the very complex regexp.
author Daniel Pfeiffer <occitan@esperanto.org>
date Tue, 17 May 2005 20:44:18 +0000
parents 695cf19ef79e
children 23a17af379b1 375f2633d815
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 }
52401
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 42411
diff changeset
68
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 42411
diff changeset
69 /* arch-tag: 2ba2c9b0-4157-4eba-bd9f-967e3677e35f
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 42411
diff changeset
70 (do not change this comment) */