EINE and ZWEI
EINE and ZWEI are two discontinued Emacs-like text editors developed by Daniel Weinreb and Mike McMahon for Lisp machines in the 1970s and 1980s.
History
EINE was a text editor developed in the late 1970s.[1] In terms of features, its goal was to "do what Stallman's PDP-10 (original) Emacs does".[2] It was an early example of what would become many Emacs-like text editors. Unlike the original TECO-based Emacs, but like Multics Emacs, EINE was written in Lisp. It used Lisp Machine Lisp. Stallman later wrote GNU Emacs, which was written in C and Emacs Lisp and extensible in Emacs Lisp. EINE also made use of the window system of the Lisp machine and was the first Emacs to have a graphical user interface.
In the 1980s, EINE was developed into ZWEI. Innovations included programmability in Lisp Machine Lisp, and a new and more flexible doubly linked list method of internally representing buffers.
ZWEI would eventually become the editor library used for Symbolics' Zmacs (Emacs-like editor), Zmail (mail client), and Converse (message client), which were integrated into the Genera operating system which Symbolics developed for their Lisp machines.
Naming
EINE is a recursive acronym for "EINE Is Not Emacs", and ZWEI follows this pattern as an acronym for "ZWEI Was Eine Initially".
With "zwei" being the German word for "two", "EINE" could be (re-)interpreted as being a reference to the German word for "one" (in the feminine adjectival form, as in "eine Implementierung", "one implementation").
Further reading
- Weinreb, Daniel L. (January 1979). A Real-Time Display-oriented Editor for the LISP Machine (Undergraduate thesis). MIT EECS Department. Lay summary (20 Oct 2018).
- Symbolics Genera 6.0 documentation, Book 3, Text Editing and Processing, March 1985
- Symbolics Genera 7.0 documentation, Book 3, Text Editing and Processing, July 1986
- MIT CADR Lisp Machine Source code
References
- https://ml.cddddr.org/bug-eine/msg00029.html
- "Comment by ZWEI's author Dan Weinreb".
I wrote the second Emacs ever: the Lisp machine implementation, whose spec was "do what Stallman's PDP-10 (original) Emacs does", and then progressed from there. There's just a whole LOT of it. It took me and Mike McMahon endless hours to implement so many commands to make ZWEI/Zmacs.