XEmacs (Version 21.4.15)

XEmacs (like regular GNU Emacs) is a self-documenting, customizable, extensible, real-time display editor. XEmacs is self-documenting because at any time you can type control-h to find out what your options are or find out what a command does. XEmacs is customizable because you can change the definitions of XEmacs commands. XEmacs is extensible because you can write entirely new commands-programs in the Lisp language to be run by Emacs' own Lisp interpreter. XEmacs includes a real-time display, which means that the text being edited is visible on the screen and is updated very frequently (usually after every character or pair of characters) as you type.


The primary documentation of XEmacs is in the XEmacs Reference Manual, which you can read on line using Info, a subsystem of XEmacs. Please look there for complete and up-to-date documentation. Complete documentation on using Emacs Lisp is available on-line through the XEmacs Lisp Programmer's Manual. Both manuals also can be printed out nicely using the TeX formatting package.

Further information:

Why Another Version of Emacs

For a detailed description of the differences between GNU Emacs and XEmacs and a detailed history of XEmacs, check out the NEWS file.

However, here is a list of some of the reasons why we think you might consider using it:

  • It looks nicer.
  • The XEmacs maintainers are generally more receptive to suggestions than the GNU Emacs maintainers.
  • Many more bundled packages than GNU Emacs
  • Binaries are available for many common operating systems.
  • Face support on TTY's.
  • A built-in toolbar.
  • Better Motif compliance.
  • Some internationalization support (full MULE support starting with 20.0).
  • Variable-width fonts.
  • Variable-height lines.
  • Marginal annotations.
  • ToolTalk support.
  • XEmacs can be used as an Xt widget, and can be embedded within another application.
  • Horizontal and vertical scrollbars (using real toolkit scrollbars)
  • Better APIs (and performance) for attaching fonts, colors, and other properties to text.
  • The ability to embed arbitrary graphics in a buffer.
  • Completely compatible (at the C level) with the Xt-based toolkits.