From Wikipedia, the free encyclopedia
(Redirected from 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.


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.


EINE is a recursive acronym for "EINE Is Not Emacs", coined in August 1977.[3] It was a play on Ted Anderson's TINT, "TINT is not TECO".[3] Anderson would later retort with "SINE is not EINE".[4]

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[edit]

  • Weinreb, Daniel L. (January 1979). A Real-Time Display-oriented Editor for the LISP Machine (Undergraduate thesis). MIT EECS Department.
  • 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


  1. ^ "[no subject]".
  2. ^ "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.
  3. ^ a b Electronic message to BUG-LISPM, Daniel Weinreb, 8 August 1977
  4. ^ Owen Theodore Anderson (January 1979). "The Design and Implementation of a Display-Oriented Editor Writing System" (PDF). Retrieved 2012-09-09.

External links[edit]