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