view lib-src/digest-doc.c @ 2671:5402bf7d11a5

[xemacs-hg @ 2005-03-17 09:26:07 by michaels] 2005-03-17 Mike Sperber <mike@xemacs.org> * files.el: Merge the following changes from GNU Emacs: 2005-01-04 Andreas Schwab <schwab@suse.de> * files.el (insert-directory): Only look for error lines in inserted text. Don't move too far after processing --dired markers. 2004-12-27 Richard M. Stallman <rms@gnu.org> * files.el (insert-directory-ls-version): New variable. (insert-directory): When ls returns an error, test the version number to decide what the return code means. With --dired output format, detect and distinguish lines that are really error messages. (insert-directory-adj-pos): New function. 2004-09-25 Stefan Monnier <monnier@iro.umontreal.ca> * files.el (insert-directory): Obey --dired even with symlinks. 2004-05-25 Luc Teirlinck <teirllm@auburn.edu> (insert-directory): Check that lines were really inserted by the --dired switch, before erasing them. 2004-04-17 Richard M. Stallman <rms@gnu.org> * files.el (insert-directory): Delete any error msg output by the `insert-directory-program'.
author michaels
date Thu, 17 Mar 2005 09:26:09 +0000
parents ecf1ebac70d8
children ed624ab64583 06dd936cde16
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.  */

#ifdef emacs
#include <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 XEmacs\n");
  printf (".AU\nThe XEmacs Advocacy Group\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;
}