Emacs

Emacs is the One True Editor. It has a fairly long history for a computer program, having begun from a large pile of community-developed macros written in ITS TECO (which stood for 'Tape/Text Editor and Corrector'). The implementation used on the original Lisp Machines was called EINE, for 'EINE Is Not EMACS'. The second version of EINE on the Lisp Machines was known as ZWEI, for 'ZWEI Was Eine Initially'. These are also version numbers in German. These Emacsen were written in Lisp out of necessity, not out of choice, since ZetaLisp was the systems programming language on the Lisp Machines.

Another implementation of Emacs, called Multics Emacs (since it ran on Multics), innovated the notion of using Lisp as the programming language for implementing Emacs. The version of Emacs implemented by James Gosling (commonly known as Gosmacs) came directly from Multics Emacs. Richard Stallman's GNU Emacs has Gosmacs as its ancestor, and from GNU Emacs came XEmacs. Most Common Lisp systems implement their own idiosyncratic and non-portable Emacs, such as CMUCL's Hemlock.

For an extensive collection of information about various Emacs implementations see Craig Finseth's Emacs Implementations and Literature. Craig Finseth also has an excellent treatise on the implementation of Emacs-like editors available for free in HTML format, The Craft of Text Editing. It is required reading for any Emacs implementor.

Work is very slowly progressing to design a portable Emacs based on Common Lisp, (and maybe even CLIM) rather than the idiosyncratic and aging Emacs Lisp dialect, elisp, that all Emacsen deriving from GNU Emacs use. Take a look at CL-Emacs for more information.


Pages in this topic: ELI   Emacs customizations   GNU emacs   Hyperspec-Info   José María Ruiz  


Also linked from: ABCL   asdf   Brian Cully   Bruce Durling   CLHS   CLiki   CloserLookAtHemlock   elisp   FSF   GNU   GUD   Hemlock   IDE   Lisp newbie   Luigi Panzeri   MacOS X   Mark Davidson   Marko Kocic   NaCL   Patrick Anderson   qbook   reattatchabe slime   Tyler Eaves   vim   Yakov Zaytsev  

CLiki pages can be edited by anyone at any time. Imagine a fearsomely comprehensive disclaimer of liability. Now fear, comprehensively