Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.2 9/5/84; site sjuvax.UUCP Path: utzoo!watmath!clyde!burl!ulysses!allegra!sjuvax!bbanerje From: bbanerje@sjuvax.UUCP (B. Banerjee) Newsgroups: net.emacs Subject: Re: GNU emacs documentation Message-ID: <1148@sjuvax.UUCP> Date: Mon, 13-May-85 22:28:22 EDT Article-I.D.: sjuvax.1148 Posted: Mon May 13 22:28:22 1985 Date-Received: Thu, 16-May-85 02:08:01 EDT References: <186@sdcarl.UUCP> Organization: St. Joseph's University, Phila. PA. Lines: 77 > I came upon the following method to make up documentation for emacs > until rms distributes the real stuff. It appears that there is a > complete description of the emacs commands in the DOCSTR file in the > etc directory. But the DOCSTR file isn't in a form that you want to > read via "more", "lpr", etc. I wrote the following little C program > to filter it through: > ... { Small Program follows} > Then run it with > > a.out < DOCSTR > doc.tex > The version appended to the end will make an 'nroffable' version. You will probably have to do some minor post-processing to ensure that the page breaks come out correctly. Use the output with the 'ms' macros. > The next step is to make a file that has the key bindings/mappings. > For this i used the command > > grep '(define-key' simple.el loaddefs.el > ~/ keys.tex > > Unfortunately the keys.tex file will require a fair amount of manual > editing to get it into a useful form though. There is an easier way. Type the following (verbatim) % emacs -l makesum M-X make-key-summary C-X C-W keys.summary C-X C-C You will then have a file called 'keys.summary' in your directory. Oh yes, the program. Apologies for the quick hack. -- Binayak =================================================== # include main() { register int ch; register int notfirst; 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"); while (( ch = getchar()) != '\n') if ( ch != EOF) putchar(ch); else { ungetc(ch); break; } printf("\n.DS L\n"); } else putchar(ch); } exit(0); } -- Binayak Banerjee {allegra | astrovax | bpa | burdvax}!sjuvax!bbanerje P.S. Send Flames, I love mail.