[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

EMACS and Lisp

This is just to throw my memories and two cents' worth into the fray.

The original EMACS was indeed done in TECO.  The EMACS command set was
an amalgam of four prototype command sets that had sprung up at MIT
once RMS had given us the ability to attach command strings to
keystrokes.  I had observed that having four wildly different command
sets was impeding us, because one person could not sit down at
another's terminal to help him.  I spent a few weeks running up and
down the halls and stairways with a matrix chart in my hands (the
columns were labelled ---, Control, Meta, and Control-Meta, and ASCII
characters down the left-hand edge labelled the rows), consulting with
implementors and users in Technology Square trying to get agreement on
a common set of editor commands.  RMS came across me while I was
struggling to write the first thirty lines or so of TECO code to
implement the mess, offered to "help out"--and the rest is history: he
did essentially all of the implementation, as well as improving
substantially on the design, inventing new commands (and the necessary
TECO primitives to support them), and researching how users actually
used the commands.  His is a magnificent achievement, against which
new editors are still sometimes measured, over ten years later.

According to Bernie Greenberg's paper in the 1980 Lisp Conference
("Prose and Cons"--what a wonderful title!), Multics EMACS was
written no earlier than 1978.  Scheme first came out in 1975, and the
Revised Report on Scheme was published in January of 1978.

Nevertheless, Scheme was not available on Multics and MacLisp was.
Even if Scheme had been available, it would have been sensible to use
MacLisp anyway: for one thing, the Scheme implementations at MTI at
that time were all embedded in MacLisp anyway!

--Guy Steele