Q1.0.4: Why another version of Emacs?
First of all, the situation got a little complicated. With SXEmacs
regarded as a featurised, cleaned-up XEmacs, there are only two major
Emacs flavours. Disregarding that, we have three. Thus let us compare
GNU Emacs to SXEmacs/XEmacs in the first place, and afterwards do the
comparison SXEmacs vs. XEmacs.
Q1.0.4.1 GNU Emacs vs. SXEmacs/XEmacs
Here is a list of some of the reasons why we think you might
consider using it:
- It looks nicer.
- The XEmacs and SXEmacs maintainers, especially the SXEmacs
maintainers, are generally more receptive to suggestions than the GNU
Emacs maintainers.
- Many, many more bundled packages than GNU Emacs.
- Packages at all.
- Marginal annotations.
- XEmacs can be used as an Xt widget, and can be embedded within another
application.
- Better APIs (and performance) for attaching fonts, colors, and other
properties to text.
- Completely compatible (at the C level) with the Xt-based toolkits.
- Native support for PostgreSQL databases, LDAP servers and Berkeley DB.
- Support for GMP numbers (multi-precision integers, quotients and
floats).
- Support for multiple tty connections.
- Sound support.
Q1.0.4.2 SXEmacs vs. XEmacs
SXEmacs’ strengths are clearly its feature list and its performance.
Also, these were the main reasons to fork. XEmacs maintainers became
more and more uninterested in useful additions, reductions and
optimisations on the C-level.
- Foreign Function Interface (FFI).
- PostgreSQL notify support.
- Native OpenSSL support.
- Support for mpfr floats, Gaussian and complex numbers, quaternions and
residue class rings.
- Support for raw strings.
- Much faster hashing functions.
- Support for internal URL access via cURL.
- Support for various image formats: Any format that ImageMagick is able
to handle.
- Support for modern sound libraries and sound servers: ESD, Polyp,
Jack, ALSA, and ao
- Support for various media formats (provided by external libraries):
Any format that FFmpeg, sndfile, SoX, MAD and gstreamer can handle.
- Support for the implementation network services through the use of
network server stream.