- XEmacs
Infobox Software
name = XEmacs
caption = XEmacs
developer = XEmacs community
latest_release_version = 21.4.21
latest_release_date =November 10 2007
operating_system =Cross-platform
genre =Text editor
license =GNU General Public License
website = http://www.xemacs.org/XEmacs is a graphical- and console-based
text editor which runs on almost anyUnix-like operating system as well asMicrosoft Windows . XEmacs is a fork, developed based on a version ofGNU Emacs from the late 1980s. Any user can download, use, and modify XEmacs asfree software available under theGNU General Public License .History
Between 1987 and 1993 significant delays occurred in bringing out a new version of
GNU Emacs . [ [http://www.jwz.org/doc/emacs-timeline.html Emacs Timeline ] ] In the late 1980s,Richard P. Gabriel 'sLucid Inc. faced a requirement to ship Emacs to support the EnergizeC++ IDE. So Lucid recruited a team to improve and extend the code, [ [http://commandline.org.uk/2007/history-of-emacs-and-xemacs/ Command Line Warriors : /command-line/history-of-emacs-and-xemacs-2007-03-25-02-24.html ] ] with the intention that their new version, released in 1991, would form the basis of GNU Emacs version 19. However, they did not have time to submit their changes to theFree Software Foundation (FSF). [ [http://foldoc.org/?Lucid+Emacs from FOLDOC ] ] Lucid continued developing and maintaining their version of Emacs, while the FSF released version 19 of Emacs a year later, rejecting most of the new features.Fact|date=April 2007When Lucid went out of business in 1994, other developers picked up the code. [ [http://www.xemacs.org/About/index.html XEmacs: History of XEmacs ] ] Companies such as
Sun Microsystems wanted to carry on shipping Lucid Emacs; however, using the trademark had become legally ambiguous, because no-one knew who would eventually control the trademark "Lucid"; accordingly the "X" in XEmacs represents a compromise among the parties involved in developing XEmacs. [ [http://www.xemacs.org/Documentation/21.5/html/internals_3.html#SEC11 XEmacs Internals Manual: A History of Emacs ] ]XEmacs has always supported text-based terminals and windowing systems other than X11. Installers can compile both XEmacs and GNU Emacs with and without X support. For a period of time XEmacs even had some terminal features, such as coloring, that GNU Emacs lacked.
The software community generally refers to GNU Emacs, XEmacs (and a number of other similar editors) collectively or individually as "emacsen" or as "emacs", since they all take their inspiration from the original TECO Emacs.
Features
XEmacs text-editing features commands to manipulate words and
paragraph s (deleting them, moving them, moving through them, and so forth),syntax highlighting for makingsource code easier to read, and "keyboard macros" for performing arbitrary batches of editing commands defined by the user.XEmacs has comprehensive inline help, as well as five manuals available from the XEmacs website. XEmacs supports many human languages as well editing-modes for many programming and markup-languages. XEmacs runs on many operating systems including
Unix /Linux , BSDs andMac OS X . Running on Mac OS requires X11; while development has started on a native Carbon version. Two versions of XEmacs for the Microsoft Windows environment exist: a native installer and aCygwin package.Users can reconfigure almost all of the functionality in the editor by using the
Emacs Lisp language. Changes to the Lisp code do not require the user to restart or recompile the editor. Programmers have made available many pre-written Lisp extensions.Many packages exist to extend and supplement the capabilities of XEmacs. Users can apply them in bulk using the xemacs-sumo package or "sumo tarballs". ["They are called 'Sumo Tarballs' for good reason. They are currently about 21MB and 6MB (gzipped) respectively." — http://www.xemacs.org/Documentation/packageGuide.html Retrieved
2007-08-03 ]Development
From the project's beginnings, the developers of XEmacs aimed to have a frequent release-cycle: currently 2 to 3 releases appear per year, which is a slowdown from earlier years. [ [http://www.xemacs.org/Releases/index.html XEmacs: Release Notice Archive ] ] They also aimed for more openness to experimentation, and XEmacs often offers new features before other emacsen — pioneering (for example) inline images, variable fonts and
terminal coloring . Over the years, the developers have extensively rewritten the code in order to improve consistency and to follow modern programming conventions stressing data abstraction. XEmacs has a unique packaging system for independently-maintained Lisp packages. The latest version hasGTK+ support [ [http://www.us.xemacs.org/Releases/Public-21.2/projects/gtk.html XEmacs: XEmacs on the GTK platform ] ] and a native Carbon port for Mac OS X [http://members.shaw.ca/akochoi-xemacs/Carbon%20XEmacs/Home.html] .XEmacs has always had a very open development-environment, including anonymous CVS, later
Mercurial access and publicly accessible development mailing-lists. XEmacs comes with a 500+ page internals manual (Wing, et al, 2004).The XEmacs project has a policy of maintaining compatibility with the GNU Emacs API. For example, it provides a compatibility-layer implementing overlays via the native extent functionality. " [T] he XEmacs developers strive to keep their code compatible with GNU Emacs, especially on the Lisp level." [ [http://www.xemacs.org/Documentation/21.5/html/xemacs-faq_2.html#SEC53 Frequently asked questions about XEmacs: Introduction ] ]
Support for
Unicode has become a problem for XEmacs. As of 2005, the released version depends on the unmaintained package called Mule-UCS to support Unicode, while the development branch of XEmacs has had robust native support for external Unicode encodings since May 2002, but the internal Mule character sets lack completeness, and development seems stalled as of September 2005. [ [http://calypso.tux.org/pipermail/xemacs-beta/2006-January/008297.html Mule-on-Windows, full Unicode support XEmacs ] ]XEmacs development features three branches: stable, gamma, and beta, [ [http://www.xemacs.org/Releases/index.html XEmacs: Release Notice Archive ] ] with beta getting new features first, but potentially having less testing, stability and security. The developers released version 20.0 on
9 February 1997 , and version 21.0 on12 July 1998 . As of December 2007, the stable branch had reached version 21.4.21 and the beta branch version 21.5.28. No gamma releases exist currently. With the release of XEmacs 21.4.0, version numbers follow a scheme where an odd second number signals a development-version, and an even second number indicates a stable release.XEmacs and GNU Emacs
Several of XEmacs's principal developers have published accounts of the split between XEmacs and GNU Emacs, for example, Stephen Turnbull's [http://www.xemacs.org/About/XEmacsVsGNUemacs.html summary] of the arguments from both sides. One of the main disagreements involves different views of copyright-assignment. The FSF sees copyright-assignment to the FSF as necessary to allow it to defend the code against GPL-violations, [ [http://www.fsf.org/licensing/licenses/why-assign.html Why the FSF gets copyright assignments from contributors - Free Software Foundation ] ] while the XEmacs-developers have argued that the lack of copyright- assignment has allowed major companies to get involved, as sometimes companies can license their code but due to a cautious attitude concerning fiduciary duties to shareholders, companies may have trouble in getting permission to assign away code completely. The
Free Software Foundation holdscopyright of much of the XEmacs code because of prior copyright-assignment during merge-attempts and cross-development. Whether a piece of new XEmacs code enters GNU Emacs often depends on the willingness of that individual contributor to assign the code to the FSF.New features in either editor usually show up in the other sooner or later. Furthermore, many developers contribute to both projects; in particular, many major Lisp subsystems, such as
Gnus andDired , undergo development to work with both.See also
*
List of Unix programs
*Comparison of text editors External links
* [http://www.xemacs.org/ The XEmacs Project's website] .
* [http://www.xemacs.org/Documentation/index.html Downloadable XEmacs manuals]
* [http://www.jwz.org/doc/lemacs.html Lucid Emacs history] from the view of its original maintainer,Jamie Zawinski .
* [http://stallman.org/articles/xemacs.origin The Origin of XEmacs, according to Richard Stallman]
* [http://commandline.org.uk/2007/history-of-emacs-and-xemacs/ The History of Emacs and XEmacs]
* [http://www.xemacs.org/About/index.html The History of XEmacs]
* [http://www.ews.uiuc.edu/software/tutorial/xemacs.html Concise XEmacs tutorial]
* [http://www.cs.dal.ca/studentservices/refcards/xemacs.pdf Printable XEmacs Reference Card (PDF)]References
Wikimedia Foundation. 2010.