view lib-src/digest-doc.c @ 33304:d401dfab680a

Require gnus-util. 2000-11-07 Dave Love <fx@gnu.org> * rfc2047.el: (rfc2047-fold-region): Use gnus-point-at-bol. (rfc2047-charset-encoding-alist): Add iso-8859-1[45]. 2000-11-07 ShengHuo ZHU <zsh@cs.rochester.edu> * rfc2047.el: Require cl when compiling. (rfc2047-q-encode-region): Don't break if a QP-word could be fitted in one line. (rfc2047-decode): Use mm-with-unibyte-current-buffer-mule4. (rfc2047-fold-region): "=?=" is not a break point. (rfc2047-encode-message-header): Move fold into encode-region. (rfc2047-dissect-region): Rewrite. (rfc2047-encode-region): Rewrite. (rfc2047-fold-region): Fold (rfc2047-unfold-region): New function. (rfc2047-decode-region): Use it. (rfc2047-q-encode-region): Don't break at bob. (rfc2047-decode): Use unibyte. (rfc2047-q-encode-region): Better calculation of break point. (rfc2047-fold-region): Don't break the first non-LWSP characters. (rfc2047-encode-region): Merge only if regions are adjacent.
author Dave Love <fx@gnu.org>
date Wed, 08 Nov 2000 15:45:55 +0000
parents dd3b83e4ceb0
children c8fb06423da0
line wrap: on
line source

/* 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.  */

#include <stdio.h>

int
main ()
{
  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;
}