view lib-src/digest-doc.c @ 16813:56bf42e4fb29

(word-help-mode-alist, reset-word-help) (word-help-switch-help-file): Added support for completion. (word-help-complete, word-help-complete-list) (word-help-complete-index, word-help-extract-matches) (word-help-make-complete): New functions/variables for completion. (word-help-mode-alist): Enhanced search regexps. (word-help-index-mapper): Defaults now to extracting the first word. (word-help-mode-alist, word-help-index-mapper) (word-help-main-index, word-help-main-obarray) (reset-word-help, set-help-file, word-help-process-indexes) (word-help-goto-index-node): Doc fixes. (word-help-goto-index-node): Requires passing the keyword. Uses this in the a new and enhanced magic indexing routine. (set-help-file, word-help): Handle `completion-ignore-case' better. (word-help-extract-index): `case-fold-search' better handled. (word-help): Magic guessing of relevant help file put in new function word-help-find-help-file. (word-help-guess-all): New subroutine. (word-help-guess): Use word-help-guess-all. May optionally copy only upto the cursor, instead of the entire keyword.
author Richard M. Stallman <rms@gnu.org>
date Thu, 02 Jan 1997 20:41:58 +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;
}