1/* Give this program DOC-mm.nn.oo as standard input and it outputs to
2   standard output a file of nroff output containing the doc strings.
3
4   Copyright (C) 1987, 1994, 2001, 2002, 2003, 2004,
5                 2005, 2006, 2007 Free Software Foundation, Inc.
6
7   This file is part of GNU Emacs.
8
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
11   the Free Software Foundation; either version 2, or (at your option)
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
20   along with GNU Emacs; see the file COPYING.  If not, write to the
21   Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
22   Boston, MA 02110-1301, USA.
23
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>
28
29#ifdef DOS_NT
30#include <fcntl.h>		/* for O_BINARY */
31#include <io.h>			/* for setmode */
32#endif
33
34int
35main ()
36{
37  register int ch;
38  register int notfirst = 0;
39
40#ifdef DOS_NT
41  /* DOC is a binary file.  */
42  if (!isatty (fileno (stdin)))
43    setmode (fileno (stdin), O_BINARY);
44#endif
45
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}
80
81/* arch-tag: 2ba2c9b0-4157-4eba-bd9f-967e3677e35f
82   (do not change this comment) */
83