[Home]XEmacs

HomePage | Recent Changes | Preferences

Showing revision 9
A text editor derived from Emacs, XEmacs capitalises on good GUI support, mainly for the X Window System. XEmacs runs on almost any Unix-like operating system (inside X or on a text terminal), as well as on Microsoft Windows. Like Emacs, XEmacs is free software available under the GNU General Public License. When speaking about an unspecified version of Emacs/XEmacs, the generic lowercase terms emacs or emacsen are often used.

XEmacs was created in 1991 as Lucid Emacs by Lucid Inc. to support their proprietory Energize environment. Lucid forked? the code, developing and maintaining their own version of Emacs, because they were dissatisfied with the maintainance of the original Emacs. Their version of Emacs was very popular, so when Lucid went out of business 1994, the code was picked up by another development team, and maintained under its current name, "XEmacs".

Historically, a lot of features first appeared in XEmacs, but most of them ended up in Emacs as well. By 2001 the difference to the user between these two versions is not that great. XEmacs still has a better X toolkit support, experimentally working with [[Gtk+]] as well. Inline images are available without tricks. Most people think that the XEmacs GUI elements (menubar, toolbar, scrollbars) look nicer. In XEmacs, multi-lingual support is optional, while it is hard-coded into Emacs 20.

A popular myth was that XEmacs did not have proper support for text terminals (or emulators, like xterm?). This was never true, XEmacs always ran without a windowing system, for some time it even had some terminal features (e.g. colour) that Emacs lacked.

Under the hood the differences are more pronounced. Lisp coders that want to have their packages work with both variants (and maybe older versions of these as well) may have to go to some lenghts. For example, XEmacs introduced so called extents, a region of text which can be assigned a number of attributes (colour, font, etc.). Later, a similar but not entirely equal concept, overlays was added to Emacs. Now XEmacs has a compatibility layer implementing overlays via the native extent functionality.

The schism? between Emacs and XEmacs is one of the more visible examples of a [code fork]?, another being the splitting of BSD. Since both emacsen share the same license, code can be transplanted back and forth between them, although due to their differences in implementation, this mainly happens on the Lisp level, much less with C code. There is still a good deal of rivalry between the two camps, which is one of the reasons why only few features remain in only one of the two editors.

XEmacs development happens on three branches: stable, gamma, and beta, with beta being the first to get new features, but being the least tested. In November 2001, the current versions in these branches are 21.1.14, 21.4.5, and 21.5.3, respectively. Future version numbers will follow a scheme similar to Linux, with an odd second number signalling a development version, and an even second number for stable releases.

Version 20.0 was released on 1997-02-09, 21.0 on 1998-07-12.

Further Reading


HomePage | Recent Changes | Preferences
This page is read-only | View other revisions | View current revision
Edited December 2, 2001 9:12 pm by Robbe (diff)
Search: