GNU emacs vs. XEmacs

emacsxemacs

After using Vim for the past couple of years, I'm switching to emacs as part of my "get out og your comfort zone" 2012 resolution. Although I have been using GNU Emacs for the past 10 days, I am curious about XEmacs and I wonder if it differs significantly from GNU Emacs.

From the Wikipedia page:

One of the main disagreements involves different views of
copyright-assignment.

[…]

New features in either editor usually show up in the other sooner or
later. Furthermore, many developers contribute to both projects.

I get the impression that the differences between the two are mainly historical and philosophical (isn't always the case with the FSF?).

What would be the practical reasons to chose one over the other today in 2012?
Here are examples of comparisons I'm interested in:

  • features: Are there any feature present in one but not (or at least not easily available) in the other?

  • community: Which community is more active and innovative?

  • release cycles: Do they release the same features at a similar rate, or is it two separate releasing cycles making one more avant-garde than the other?

  • LISP implementation: I'm mostly interested in learning LISP. Do both editors share the same implementation? The same dialect?

  • availability: I know both editors are available on Linux, but what about the other platforms? Does one have a significant advantage over the other?

The list is not exhaustive. If you've ever used both and feel that there are differences that are not mentioned here, please do tell; I'm very curious.

Best Answer

Nowadays, XEmacs is essentially dead. The last major release was XEmacs 21 in 1999; the last minor release to be promoted stable was XEmacs 21.4 in 2003, and the last maintenance release was XEmacs 21.4.22 in 2009. I don't think there is any major XEmacs feature that isn't in GNU Emacs 23.

Historically, XEmacs was for a long time (from the Lucid days in the late 1980s to GNU Emacs's catch-up in the mid-200s) about one major version ahead of GNU Emacs in terms of features. XEmacs tended to be quicker at adopting new features and was more liberal in accepting outside code. GNU Emacs was tightly maintained; less buggy and less featured.

Among the last major XEmacs features to appear in GNU Emacs (in Emacs 22 or 23) were the ability to send external commands to a running process (gnuclient vs. emacsclient), the ability to connect one instance to multiple terminal types (text or GUI), support for inline images, support for variable-width fonts, the ability to use vector fonts under X, and better support for character sets wider than 8 bits (especially Unicode).

The lisp dialects are the same (except for minor differences). Lisp packages for one variant can usually work under the other variant with a few minor adaptations, unless they make sophisticated use of one of the many features that exist in both variants but with completely different implementations.

Both GNU Emacs and XEmacs run under major unix variants, under Windows and under OSX's native user interface.

I can't see any reason to use XEmacs these days, unless you've been using it for a long time and don't feel like switching.

Related Question