view lib-src/digest-doc.c @ 31968:dc896c1b6a26

(latex-imenu-indent-string): Add a space. (latex-outline-regexp): New var. (latex-outline-level): New fun. (latex-section-alist): New var. (latex-imenu-create-index): Use it. Use `push' as well. (tex-shell-map): Initialize it properly. (tex-mode): Minor stylistic change. (plain-tex-mode): Use define-derived-mode. (latex-mode): Use define-derived-mode. Construct the paragraph regexps in a more readable way. Set the buffer-local outline-{level,regexp} vars. (slitex-mode): Derive from latex-mode. (tex-common-initialization): Don't kill-all-vars anymore. Add setting for comment-add and font-lock-defaults. (tex-start-shell): Use with-current-buffer and don't re-init keymap. (tex-main-file): New fun. Obey TeX-master as well and remove `.tex'. (tex-start-tex): New arg DIR (and send a chdir command for it). Also display the shell buffer and save it in tex-last-buffer-texed. (tex-region): Use expand-file-name rather than concat. Remove code made useless by changes in tex-start-tex. (tex-file): Use tex-main-file and adapt to new tex-start-tex.
author Stefan Monnier <monnier@iro.umontreal.ca>
date Fri, 29 Sep 2000 01:45:46 +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;
}