update.
[chise/xemacs-chise.git] / lib-src / digest-doc.c
1 /* Give this program DOCSTR.mm.nn as standard input
2    and it outputs to standard output
3    a file of nroff output containing the doc strings.
4
5    See also sorted-doc.c, which produces similar output
6    but in texinfo format and sorted by function/variable name.  */
7
8 #ifdef emacs
9 #include <config.h>
10 #endif
11 #include <stdio.h>
12
13 int
14 main (int argc, char *argv[])
15 {
16   register int ch;
17   register int notfirst = 0;
18
19   printf (".TL\n");
20   printf ("Command Summary for GNU Emacs\n");
21   printf (".AU\nRichard M. Stallman\n");
22   while ((ch = getchar ()) != EOF)
23     {
24       if (ch == '\037')
25         {
26           if (notfirst)
27             printf ("\n.DE");
28           else
29             notfirst = 1;
30
31           printf ("\n.SH\n");
32
33           ch = getchar ();
34           printf (ch == 'F' ? "Function " : "Variable ");
35
36           while ((ch = getchar ()) != '\n')  /* Changed this line */
37             {
38               if (ch != EOF)
39                   putchar (ch);
40               else
41                 {
42                   ungetc (ch, stdin);
43                   break;
44                 }
45             }
46           printf ("\n.DS L\n");
47         }
48       else
49         putchar (ch);
50     }
51   return 0;
52 }