Open larsbrinkhoff opened 3 years ago
From RMS; EPAP 49 (AI memo 519 "The Extensible, Customizable, Self-Documenting Display Editor"):
The display processor was first implemented in 1974 (inspired by the editor E of the
Stanford Artificial Intelligence Lab)
The editor used at the Stanford Artificial Intelligence Lab, E interfaces with a
"line editor" (used to edit within a line, on a display terminal) which can also be
employed to edit the input to any other program. Unfortunately, this ruined any
chance of making it customizable, though it is possible that a different
implementation of a line editor, done with this in mind, would be possible. E allows
macros to be written using the same language used for editing. These are as powerful
as a Turing machine, and as easy to program with. E has other interesting features
as well. See the on-line documentation file E.ALS[UP,DOC] of the Stanford Artificial
Intelligence Laboratory.
Slightly updated wording in https://www.gnu.org/software/emacs/emacs-paper.html
I began the development of EMACS in 1974 with an improvement to TECO: the implementation of the display processor and a command dispatcher with a small fixed set of commands. These were inspired by the editor E of the Stanford Artificial Intelligence Lab. They were not considered a new editor, but rather one new feature in TECO to join many existing features. The user would give the TECO command Control-R to enter display editing mode, whose commands were suitable only for making local changes to the file. He would exit display editing mode to do anything else.
The editor used at the Stanford Artificial Intelligence Lab, E interfaces with a `line editor' (used to edit within a line, on a display terminal) which can also be employed to edit the input to any other program. The line editor does not allow commands to be redefined; since it is part of the timesharing system, that is not trivial (though possible in principle). E allows macros to be written using the same language used for editing.
Current version of Wikipedia Emacs article:
Richard Stallman visited the Stanford AI Lab in 1972 or 1974 and saw the lab's E editor, written by Fred Wright. He was impressed by the editor's intuitive WYSIWYG (What You See Is What You Get) behavior, which has since become the default behavior of most modern text editors. He returned to MIT where Carl Mikkelsen, a hacker at the AI Lab, had added to TECO a combined display/editing mode called Control-R
Interesting, but nothing about E: http://www.lysator.liu.se/history/garb/txt/87-1-emacs.txt
^R mode first seen in .INFO.; TECO ORDER, dated 1972-09-14. A selection from the documentation shows a nascent Emacs command set was already in place:
^R REAL TIME EDIT FEATURE. FROM DATAPOINTS, WILL
DISPLAY THE CURRENT LINE AND THE TWO LINES ON
EITHER SIDE. A SEPERATE SET OF COMMANDS CONTROLS
THE ACTION ON THE LINE. ALL NON-CONTROL-NON-RUBOUT
CHARACTERS ARE SELF INSERTING. COMMANDS ARE AS
FOLLOWS:
^B GO BACK OVER PREVIOUS CHARACTER
^D DELETES THE NEXT CHARACTER AFTER .
^F GOES FORWARD OVER THE NEXT CHARACTER
^K KILLS TO EOL (SAME AS TECO'S 1K)
^L REDISPLAYS THE SCREEN
^M INSERTS A CARRAGE RETURN-LINE FEED. (DOESN'T
CAUSE A LINE CHANGE BUT DOES COMMENT HACKERY)
^N GOES TO NEXT LINE
^P GOES TO PREVIOUS LINE
^Q INSERTS THE FOLLING CHARACTER DIRECTLY
REGARDLESS OF ANY SPECIAL MEANING AS
A COMMAND
^S SEARCHES THROUGH WINDOW FOR ARGTH OCCURANCE OF
THE CHARACTER TYPED AFTER THE ^S.
Mikkelsen's CMMSW can be seen in SYSENG; TECO 335 from 1972-11-06, until NTECO 108 from 1973-03-05:
IFNDEF CMMSW,CMMSW==1 ;FOR CMM'S ADDITIONS
and IFN CMMSW,[ ;REAL TIME EDIT
.
However, in TECO 368 from 1973-09-20, Stallman has rewritten the ^R code.
TECO 368 -- RMS 9/20/73
THE ^R REAL-TIME EDIT MODE HAS BEEN COMPLETELY REWRITTEN
TO DISPLAY BETTER. THE ^S AND ^T COMMANDS IN THAT MODE ARE GONE,
AND ^A, ^E, ^O, ^U, ^V ARE NEW.
This can also be seen in SYSENG; TECO 379 from 1973-12-04: CMMSW has been replaced with RMSSW
Richard Stallman recounts being inspired by the E editor while visiting the Stanford AI project. Collecting some notes here.