Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Stallman inspiration from E. #14

Open
larsbrinkhoff opened this issue Sep 30, 2021 · 5 comments
Open

Stallman inspiration from E. #14

larsbrinkhoff opened this issue Sep 30, 2021 · 5 comments

Comments

@larsbrinkhoff
Copy link
Owner

Richard Stallman recounts being inspired by the E editor while visiting the Stanford AI project. Collecting some notes here.

@larsbrinkhoff
Copy link
Owner Author

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.

@larsbrinkhoff
Copy link
Owner Author

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.

@larsbrinkhoff
Copy link
Owner Author

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

@larsbrinkhoff
Copy link
Owner Author

Interesting, but nothing about E: http://www.lysator.liu.se/history/garb/txt/87-1-emacs.txt

@larsbrinkhoff
Copy link
Owner Author

larsbrinkhoff commented Oct 5, 2021

^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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant