[Home]History of XEmacs

HomePage | Recent Changes | Preferences

Revision 14 . . (edit) December 16, 2001 1:32 am by Robbe [gtk back to gtk+, but keep the link]
Revision 13 . . (edit) December 15, 2001 6:01 am by Taw [gtk+ -> gtk]
Revision 12 . . (edit) December 14, 2001 1:07 pm by CYD
Revision 11 . . December 14, 2001 12:59 pm by CYD [* editing, update]
Revision 10 . . (edit) December 2, 2001 10:04 pm by Taw [/Talk]
Revision 9 . . December 2, 2001 9:12 pm by Robbe [much expanded]
Revision 8 . . (edit) December 1, 2001 5:28 am by (logged).254.9.xxx [Canonicalize talk link]
Revision 7 . . December 1, 2001 5:16 am by Uriyan [Presenting the reasons for the fork in a summarized way]
Revision 6 . . December 1, 2001 1:48 am by (logged).219.214.xxx [Added Talk page, please read]
Revision 5 . . December 1, 2001 1:42 am by EdwardOConnor [Ahem. GNU Emacs also supports "GUI-style, multi-windowed, scaled-font display,"]
Revision 4 . . November 30, 2001 5:58 am by Taw [it also supports text console, gtk]
Revision 3 . . November 30, 2001 2:59 am by Uriyan [Some basic elaboration]
Revision 2 . . (edit) November 30, 2001 1:42 am by (logged).104.204.xxx
Revision 1 . . November 30, 2001 1:41 am by (logged).104.204.xxx
  

Difference (from prior major revision) (minor diff, author diff)

Changed: 1c1
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.
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 term emacs (plural emacsen) is used.

Changed: 5c5
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.

Differences between Emacs and XEmacs




Changed: 7c7
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.
Emacs and XEmacs have different development philosophies. XEmacs is more open to experimentation, and is often the first to offer new features, such as inline images, variable fonts, and terminal coloring. Detractors complain that because of its more aggressive, features-driven approach, XEmacs internals are less consistent and less extensively documented than Emacs.

Changed: 9c9
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.
It is a popular myth that XEmacs did not have proper support for text terminals (or emulators such as xterm?). This was never true; XEmacs always ran without a windowing system. In fact, for a period of time it even had some terminal features, such as coloring, that Emacs lacked.

Changed: 11c11,23
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 often directly integrates upstream code for independently maintained lisp packages, whereas the Emacs project performs testing on every package distributed with it. As a result, major lisp packages in XEmacs are usually more up-to-date.

Historically, XEmacs had a more open development environment, including anonymous CVS? access and publicly accessible development [mailing lists]?. However, with the release of Emacs 21 in 2001, the Emacs project has provided both functions. The development models of the two projects are now very similar.

XEmacs still has somewhat better X toolkit support, and experimental Gtk+ support. Its multi-lingual support is poorer, but is optional; internationalization is hard-coded into Emacs.

Programmers who wish their [Emacs Lisp]? packages to work with both emacsen have to be careful to avoid features specific to either. For example, XEmacs introduced the concept of extents, a region of text that can be assigned attributes such as color and font. A similar but not identical feature, overlays, was later added to Emacs. XEmacs project policy is to maintain compatibility with the Emacs API. For example, it provides a compatibility layer implementing overlays via the native extent functionality.

The schism? between Emacs and XEmacs is one of the more well-known examples of a [code fork]? (another being the splitting of BSD from AT&T Unix.) Both emacsen are licensed under the GNU GPL (in fact, the copyright of much XEmacs code is owned by the Free Software Foundation), so code could in principle be freely exchanged between the two projects. However, the Emacs project has a policy of including only contributions whose copyright has been assigned to the FSF, for the purpose of copyleft enforcement. This is not always possible with XEmacs code.

There is significant rivalry between the two camps, which is why new features in either editor usually show up in the other sooner or later. On the other hand, many developers contribute to both projects; in particular, many major lisp subsystems, such as Gnus and Dired, are developed to work with both.

Project Status




HomePage | Recent Changes | Preferences
Search: