Web site:
Category: Office
Subcategory: Text Editors
Platform: Unix
License: GNU GPL
Interface: CLI
Wikipedia: Emacs
First release: 1976
Emacs – a family of text editors known for its extensibility. Development of the first Emacses began in the mid-1970s. The original EMACS was written in 1976 by Richard Stallman and Guy Steele as a set of editing macros (Editor MACroS) for the TECO editor.
With the replacement of teletypes by terminals in the early 1970s, the TECO text editor became popular. Its drawback was that it worked in command mode. Each action (open a file, close, save, enter text, etc.) was performed by the corresponding editor command, which was a chain of instructions.
In 1972 or 1974 (according to other sources, in 1976), Richard Stallman visited the Stanford AI Lab, where he was introduced to the E text editor, which made a great impression on him. E allowed real-time editing, when the screen was updated with each keystroke.
In 1972, Carl Mikkelsen (or Mikkelson) added a function to TECO that switched it from command mode to real-time editing mode, in which the screen was updated with each keystroke. The function was called “Control-R”, after the key combination that launched it. Richard Stallman modified this feature to make it more efficient and to include macros that allowed keystrokes to invoke the corresponding TECO commands.
In 1978, Multics Emacs was created by Bernard Greenberg of Honeywell Cambridge Information Systems Lab, written in MacLisp. User extensions were also written in Lisp. The choice of Lisp provided greater flexibility than ever before, and was followed by most subsequent Emacs implementations.
In 1981, Gosling Emacs, the first Emacs to run on UNIX, was created by James Gosling. It was written in C, with extensions written in a Lisp dialect called Mocklisp.
In 1984, Richard Stallman began developing a new implementation of Emacs as a free alternative to the proprietary Gosling Emacs. GNU Emacs was the first program of the GNU Project. The core of the editor was written in C, and the extensions were written in Emacs Lisp. The first versions of GNU Emacs used some of the Gosling Emacs code, but when Gosling Emacs was sold to UniPress and became proprietary, the GNU Emacs source code was purged of the Gosling Emacs source code.
In 1991, a fork of Emacs was created by Lucid Inc., called LucidEmacs. It was based on an early alpha version of GNU Emacs 19. It was later renamed XEmacs. The fork lasted until 2009, when the last stable version of XEmacs was released (the last beta version was released in 2013[10]). In fact, all the unique features of this variation of Emacs were returned to the mainline GNU Emacs.
In 2008, Richard Stallman stepped down from direct support of GNU Emacs development. Stefan Monnier and Chong Yidong took over as the core developers.
In 2015, John Wiegley replaced Stefan Monnier as the core developer of GNU Emacs.