gls@THINK.COM (Guy Steele) (12/07/88)
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