A Comparison of Xemacs and Gnu Emacs
Most Linux users have probably used the Gnu Emacs text editor at one time or another, if only out of curiosity. Originally intended as a programmer's editor, Emacs has grown over the years, accreting to itself pieces of LISP code from a variety of contributors. Now one of the most common complaints about the editor is its sheer bulk and concomitant slowness to load. Emacs aficionados will point out that Emacs is intended to be left running all of the time; in some ways the editor doubles as an operating environment or shell. As high-speed CPUs, faster hard disks and larger amounts of RAM have become more affordable, this complaint is no longer as much of a concern as it once was.
Emacs makes up for this minor drawback by being very configurable and extensible. Name a function related to text and there is probably an Emacs mode that will facilitate it. Many people use Emacs as their sole mail and Usenet news client, while programmers will find code-editing, compiling, and debugging well supported for a variety of programming languages. You can syntax-highlight any sort of text or code. The shell mode allows input and output from your preferred shell to be the contents of a buffer, from which text can be cut and pasted into other buffers. The various modes such as mail, news and the programming-specific modules are loaded and unloaded as needed.
Though many people over the years have contributed modes and enhancements to Emacs, the program is still firmly controlled by Richard Stallman of the Free Software Foundation, who wrote the first version back in the mid-seventies.
Before Gnu Emacs became well integrated with the X Window System there arose a group of Emacs-users, both private and corporate, who were impatient with the pace of the progress Stallman and the FSF were making on the program. They initiated a project to improve the user interface of Emacs (especially the X Window System support) with the intention of eventually merging the two code lines together.
One of the companies involved, the now-defunct Lucid, Inc., gave its name to the first versions of this divergent Emacs; you may have seen archives of Lucid Emacs files on the Linux FTP sites or on archive CDs.
Lucid Emacs acquired a new name, Xemacs, when the Lucid company folded. The University of Illinois, Sun Microsystems and the Amdahl Corporation emerged as the primary institutional and corporate supporters of the program.
Over the next few years conflicts arose between the FSF and the Xemacs team. Richard Stallman agreed to incorporate the Xemacs code into Gnu Emacs, but the conditions he set were unacceptable to the Xemacs developers. A stalemate has resulted. It looks as if for the foreseeable future the two versions of Emacs will develop in parallel. On the one hand, this may seem like a lot of wasted effort, but on the other, an element of competition has been introduced which in some ways benefits the end-user.
The Free Software Foundation might have been tempted to rest on its laurels if not for Xemacs. After all, the Gnu Emacs of even a couple of years ago was quite a unique and respectable piece of software. Improvements in recent years are tending towards refinements and user-interface improvements. The basic editing functionality really doesn't need much work.
Though both Gnu Emacs and Xemacs are programmed in the LISP programming language, the underlying structures are different enough that LISP add-on packages which work with one may not work with the other. Luckily many of the package maintainers are attempting to make their modules work with both Xemacs and Gnu Emacs, though the functionality may not be identical.
As an example, Bill Perry's W3 package, which turns Emacs into the world's only LISP-based web browser, works with both Emacsen (an odd term which is often used as a plural form of Emacs), but the Xemacs version will display inline images and backgrounds whereas Gnu Emacs won't.
Xemacs features an iconic toolbar, and several modes, e.g., the aforementioned W3 and the VM mail mode, have their own toolbars which only appear in Xemacs, though otherwise the modes function well in Gnu Emacs.
Gnu Emacs is limited to fixed-width fonts, while Xemacs can use variable-width proportional fonts. This feature will be of little interest to programmers, as source code looks ragged and is harder to read with proportional fonts. I confess I've never felt the need for anything but fixed-width fonts in a text editor, but tastes and needs differ.
I've found a few packages which work only with Gnu Emacs. One is NC, which replaces the native Emacs directory browser, Dired, with a Norton Commander-like interface.
Special Reports: DevOps
Have projects in development that need help? Have a great development operation in place that can ALWAYS be better? Regardless of where you are in your DevOps process, Linux Journal can help!
With deep focus on Collaborative Development, Continuous Testing and Release & Deployment, we offer here the DEFINITIVE DevOps for Dummies, a mobile Application Development Primer, advice & help from the experts, plus a host of other books, videos, podcasts and more. All free with a quick, one-time registration. Start browsing now...
- The Ubuntu Conspiracy
- A First Look at IBM's New Linux Servers
- Vigilante Malware
- Disney's Linux Light Bulbs (Not a "Luxo Jr." Reboot)
- Libreboot on an X60, Part I: the Setup
- System Status as SMS Text Messages
- Vagrant Simplified
- Bluetooth Hacks
- Dealing with Boundary Issues
- Non-Linux FOSS: Code Your Way To Victory!