view lib-src/digest-doc.c @ 31424:82c028678fee

Don't require face. (quail): New group. (quail-other-command): Dummy command to make quail-help works better. (quail-keyboard-layout-alist): Add Keyboard type "jp106". (quail-keyboard-layout-substitution): New variable. (quail-update-keyboard-layout): New function. (quail-keyboard-layout-type): New customizable variable. (quail-set-keyboard-layout): Call quail-update-keyboard-layout. (quail-keyboard-translate): Pay attention to quail-keyboard-layout-substitution. (quail-insert-kbd-layout): New function. (quail-show-keyboard-layout): New function. (quail-get-translation): If the definition is a vector of length 1, and the element is a string of lenght 1, return the character in that string. (quail-update-current-translations): Fix the case of relative-index out of range. (quail-build-decode-map, quail-insert-decode-map): New Functions. (quail-help): Show keyboard layout by quail-insert-kbd-layout. Show key sequences for all avairable characters. (quail-help-insert-keymap-description): Don't show such verbose key bindings as quail-self-insert-command.
author Kenichi Handa <handa@m17n.org>
date Thu, 07 Sep 2000 02:38: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;
}