rms@mit-prep (09/18/85)
From: Richard M. Stallman <rms@mit-prep> I was away for several weeks and just cleared my backlog enough to read net.emacs again. Here are some answers and responses. 1. I strongly urge people not to call set-input-mode from site-init.el. To do this has the effect of making EVERYONE use flow control. That is an unfortunate imposition on those who could manage to find a properly designed terminal and connection. It is much more correct to make Emacs check the terminal type or other suitable information when it is started by the user, and decide on that basis whether it is really necessary to use flow control. 2. GNU Emacs comes with an outline mode that provides at least some of the functions that someone was asking for. 3. There is no manual yet for how to write programs in Emacs Lisp. I urge people to read the Lisp sources for functions for purposes related to their own. 4. The suggested Sun termcap that turns off insert/delete line is probably a bad idea, because it ought to work to define the AL and DL strings (and IC and DC strings) to tell Emacs how to insert or delete many characters or lines at once. This is much faster than repainting. I know that people with Suns have done this. 5. I would like to receive the exact code for alloca for the IS machine and also the way to pad crt0.c by six bytes at the beginning of the text. The problem that Emacs jumps back to its start might be found by putting a breakpoint at 0 in adb. 6. GNU Emacs can be obtained from anyone who has a copy or by sending $150 **payable to me** at c/o Lisp Machine Inc 1000 Mass Ave Cambridge, MA 02139 7. If you have ordered a tape and not got it yet, you will probably get it soon. As you see, I decided to make a bug-fix release so that you will get something clean. Since the bug-fix release is being tested now, I expect to ship tapes this week. 8. I expect version 17 to be ready in a month or so, and to contain support for Uniplus 5.2. Other sysV versions are more stupid and will require some additional work. 9. People who think that alloca will not work on their machines should explain their problems more precisely. So far, when people have done that, I have found that alloca can indeed be made to work.
rms@mit-prep (10/06/85)
From: Richard M. Stallman <rms@mit-prep> 1. You can set an option permanently only with the .emacs file. Do (setq OPTION VALUE) 2. You can save a keyboard macro with M-x append-kbd-macro. It writes a Lisp expression to the end of the file. You could use .emacs as the file. However, this is a bad idea. If something is important enough to keep around permanently, it should be written in a language that is comprehensible, such as Lisp. 3. There is no way to execute Emacs editing commands from a file. 4. Here is a program to convert a Gosmacs mail directory into a Unix mail file that you can read into GNU Emacs's Rmail. I cannot be sure it really works, since I have nothing to test it on. If it does not work, please send me the fixes. /* Copyright (C) 1985 Free Software Foundation This file is part of GNU Emacs. GNU Emacs is distributed in the hope that it will be useful, but without any warranty. No author or distributor accepts responsibility to anyone for the consequences of using it or for whether it serves any particular purpose or works at all, unless he says so in writing. Everyone is granted permission to copy, modify and redistribute GNU Emacs, but only under the conditions described in the document "GNU Emacs copying permission notice". An exact copy of the document is supposed to have been given to you along with GNU Emacs so that you can know how you may redistribute it all. It should be in a file named COPYING. Among other things, the copyright notice and this notice must be preserved on all copies. */ /* cm: * Program to convert oldstyle goslings emacs mail directories into * gnu-rmail format. Program expects a directory called Messages to * exist in your home directory, containing individual mail messages in * separate files in the standard gosling emacs mail reader format. * * Program takes one argument: an output file. THis file will contain * all the messages in Messages directory, in berkeley mail format. * If no output file is mentioned, messages are put in ~/OMAIL. * * In order to get rmail to read the messages, the resulting file must * be mv'ed to ~/mbox, and then have rmail invoked on them. * * Author: Larry Kolodney, 1985 * RMS, 2 Sept 85: Removed fixed maximums on file name sizes. */ #include <stdio.h> main (argc, argv) int argc; char *argv[]; { char *hd; char *md; char *mdd; char *mfile; char *cf; int cflen; FILE *mddf; FILE *mfilef; FILE *cff; char pre[10], post[100]; char name[14]; int c; hd = (char *) getenv ("HOME"); md = (char *) malloc (strlen (hd) + 10); strcpy (md, hd); strcat (md, "/Messages"); mdd = (char *) malloc (strlen (md) + 11); strcpy (mdd, md); strcat (mdd, "/Directory"); cflen = 100; cf = (char *) malloc (cflen); mddf = fopen (mdd, "r"); if (argc > 1) mfilef = fopen (argv[1], "w"); else { mfile = (char *) malloc (strlen (hd) + 7); strcpy (mfile, hd); strcat (mfile, "/OMAIL"); mfilef = fopen (mfile, "w"); } skip_to_lf (mddf); while (fscanf (mddf, "%4c%14[0123456789]", pre, name) != EOF) { if (cflen < strlen (md) + strlen (name) + 2) { cflen = strlen (md) + strlen (name) + 2; cf = (char *) xrealloc (cf, cflen); } strcpy (cf, md); strcat (cf,"/"); strcat (cf, name); cff = fopen (cf, "r"); while ((c = getc(cff)) != EOF) putc (c, mfilef); putc ('\n', mfilef); skip_to_lf (mddf); fclose (cff); } fclose (mddf); fclose (mfilef); return 0; } skip_to_lf (stream) FILE *stream; { register int c; while ((c = getc(stream)) != '\n') ; } int xmalloc (size) int size; { int result = malloc (size); if (!result) fatal ("virtual memory exhausted", 0); return result; } int xrealloc (ptr, size) char *ptr; int size; { int result = realloc (ptr, size); if (!result) fatal ("virtual memory exhausted"); return result; } /* Print error message and exit. */ fatal (s1, s2) char *s1, *s2; { error (s1, s2); exit (1); } error (s1, s2) char *s1, *s2; { printf ("cm: "); printf (s1, s2); printf ("\n"); }
rms@PREP.AI.MIT.EDU (09/23/86)
From: rms@PREP.AI.MIT.EDU (Richard M. Stallman) 1. Copying keymaps with copy-keymap is supposed to make the two keymaps unshared. It works in version 18. Maybe it was broken in 17. It is not easy to broadcast the new code sicne it involves several functions that have been changed. 2. It should not be necessary to set meta-flag by hand. If it is necessary, it means the termcap entry is missing the :km: flag. Just put it in. 3. Invoking rmail from the .emacs file does not work in version 17, but does work in version 18. The problem happens in startup.el where it switches to initial-major-mode. Put around this a save-excursion and then set-buffer to *scratch* before setting the mode. 4. Version 18 will start ftp distribution (think of this as beta test) as soon as a few of copyright assignments come in. I hope it will be by the end of this week.