diff lib-src/digest-doc.c @ 428:3ecd8885ac67 r21-2-22

Import from CVS: tag r21-2-22
author cvs
date Mon, 13 Aug 2007 11:28:15 +0200
parents
children 84b14dcb0985
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/lib-src/digest-doc.c	Mon Aug 13 11:28:15 2007 +0200
@@ -0,0 +1,52 @@
+/* Give this program DOCSTR.mm.nn as standard input
+   and it outputs to standard output
+   a file of nroff output containing the doc strings.
+
+   See also sorted-doc.c, which produces similar output
+   but in texinfo format and sorted by function/variable name.  */
+
+#ifdef emacs
+#include <../src/config.h>
+#endif
+#include <stdio.h>
+
+int
+main (int argc, char *argv[])
+{
+  register int ch;
+  register int notfirst = 0;
+
+  printf (".TL\n");
+  printf ("Command Summary for GNU Emacs\n");
+  printf (".AU\nRichard M. Stallman\n");
+  while ((ch = getchar ()) != EOF)
+    {
+      if (ch == '\037')
+	{
+	  if (notfirst)
+	    printf ("\n.DE");
+	  else
+	    notfirst = 1;
+
+	  printf ("\n.SH\n");
+
+	  ch = getchar ();
+	  printf (ch == 'F' ? "Function " : "Variable ");
+
+	  while ((ch = getchar ()) != '\n')  /* Changed this line */
+	    {
+	      if (ch != EOF)
+		  putchar (ch);
+	      else
+		{
+		  ungetc (ch, stdin);
+		  break;
+		}
+	    }
+	  printf ("\n.DS L\n");
+	}
+      else
+	putchar (ch);
+    }
+  return 0;
+}