Text File

Aucbvax.4186 fa.editor-p utzoo!decvax!ucbvax!geoff Fri Oct 2 22:48:09 1981 emacs and unix

Multics EMACS has a mode that you can put a buffer into where the RETURN key takes the current line and executes it as a command, and then inserts the output into the buffer. You can use any editing command you like to get text into the current line before typing RETURN, thus allowing you to use/edit previous command lines (or even previous output!). (And being extensible, you can of course write commands specially tailored for editing command lines.)

However, this doesn't make the editor and command processor into one big program, because Multics structures things so that you just call a subroutine with a text string to execute it as a command line. It is two big programs communicating with each other. The code in the editor to implement this feature is conceptually rather simple (though if I said it was implementationally simple Bernie Greenberg would probably jump on me), involving no more than a binding for the RETURN key that calls the command processor subroutine after binding i/o to go to a handler that inserts into the buffer.

If things are organized this way, then there's no reason why several different editors can't use the same command processor, thus allowing the user his choice of editors.

Now, there are problems getting this to work well when you have an interactive command processor such as 20x's (which has completion) rather than one like Unix's or Multics's, but I've given some thought to it, and I think it can be done.

----------------------------------------------------------------- gopher://quux.org/ conversion by John Goerzen <jgoerzen@complete.org> of http://communication.ucsd.edu/A-News/

This Usenet Oldnews Archive article may be copied and distributed freely, provided:

1. There is no money collected for the text(s) of the articles.

2. The following notice remains appended to each copy:

The Usenet Oldnews Archive: Compilation Copyright (C) 1981, 1996 Bruce Jones, Henry Spencer, David Wiseman.