The code for making things "elisp-like" in the startup sequence & similar places is now gone. Except for ";" denoting the start of a comment, and then only after whitespace, or at the start of a line. The behavior of backwards deletions across newlines is now fixed. Hurray! Echo line now cleared on first character typed after it's displayed, unless it was a prompt for more characters in the command (C-u, M-x, C-q, etc), in which case it's cleared upon completions of input. The metakey and extended ASCII keyboards get along to a greater degree now. For the Amiga, extended ASCII keys generated without the ALT key are useable as any other key, and those that require the ALT key can be quoted, or entered in the echo line as is. Added code to get out-of-band data upon reading a file in, and set it on writing a file out. See h/foob.h for details. The Amiga/Lattice version no longer opens a small window when started from WorkBench. Added revert-buffer: verifies that you want to revert from , where is the file attached to that buffer, then clear the buffer & reads in the file. Fixed write-file so buffer name tracks file name. split-window now always leaves the current window as the top window. This causes find-file-other-window and other such to behave more gnuishly, and simplifies the code immensly. C-x C-o now compresses to a single blank line when it should. Also understands that "blank" means "all characters are tabs or spaces". Completion now works "correctly": SPC -> complete as far as can while in a word TAB -> complete as far as can RET -> complete as far as can, and if unique, return C-u SPC (C-u C-@) now does exchange-point-and-mark C-u - is now only -1, not -4. upcase/downcase/capitalize-word now handle negative arguments correctly. C-l with an argument doesn't redraw screen. C-u C-l does recenter, with no redraw. [GOSMACS: C-u C-l is the only command to force a redraw, everything else just repositions] Return onto a blank line now inserts a new line, instead of just going down a line. Fixed bugs in line handling & counting on empty buffers. New kbd macro support: No limit on length of kbd macros. Args to C-x e and C-x ) now work; -1 means repeat until error/abort. Arg to C-x ) counts definition of macro as one iteration of command. name-last-kbd-macro: creates a new macro, prompting for a name. From then on, that name is usable like any builtin function (M-x , can bind, etc.) Bindings show up in apropos & wallchart commands. fset: runnable only while expression evaling, it creates a kbd macro; first arg is name, second arg is string to attach to the macro. insert-kbd-macro: inserts an fset into the buffer at point to build the kbd macro who's name it prompts for. kbd-macro-query: queries user about continuing macro. Replies are: C-g: abort all running macros C-d: terminate all repitions of this macro DEL: terminate this repition of this macro SPC: continue going as is. Macros can invoke macros (by name or by binding). Can do most anything inside of a macro eval-expresison, bindkey, i-search, etc.