Bleeding edge: v22.1.17-4-g66cd362

DreamHost Hosting
Valid XHTML 1.0!
Valid CSS!




SXEmacs 22.1.17 "Hudson Custom Eight" has been released!

22.1.17 Highlights

  • Bugs closed in this release: 183 184
  • Packaging Infrastructure (PUI) -- Youngs.
    The big change here is that SXEmacs now uses FFI and libcurl to download packages whenever possible. EFS can still be used for FTP download sites but at present we only have a single HTTPS site available. This means that, for the time being, FFI and libcurl are mandatory requirements for using PUI for remote package installs. I see that as a feature, not a bug. ;-)
    The old "Pre-Release" packages have been removed.
    The index file has been renamed to "package-index"
  • FFI -- Youngs.
    ffi-curl.el was extended and improved so that it could be used as a transport backend for PUI. As a result, the following forms are valid and available for use:
          (file-exists-p "")
          (file-readable-p "")
          (insert-file-contents-literally "")
          (copy-file "" "/local/file")
          (expand-file-name "")
          (file-name-directory "")
          (file-name-nondirectory "")
    ffi-magic.el was rewritten, bringing in most of file(1)'s features and capabilities. See the doc string of #'magic:file for the new options and example usage.

    Also see:
    ffi-magic.el can also be used to enable automatic coding system detection. In-file coding cookies and local variables sections are honoured, as is explicitly setting the coding system. IOW, the magic auto-detection only kicks in if the coding system isn't already set some other way. To get the magic, add this form to your init...
         (require 'ffi-magic)
    ffi-wand.el no longer supports PDF. This was because certain versions of libWand would cause crashes on PDF files, and the versions that didn't the performance and user experience was flakey at best.
  • Build Chain -- Youngs
    Better, more reliable and robust libffi detection
    config.{guess,sub} updated
    Use a distro-agnostic way of detecting glibc version
    Clean up all warnings from the script
  • Internals / elisp -- Youngs, Ferreira
    Use the system malloc in all cases instead of the old, crusty, in-house malloc we had.

    A way to prevent certain OpenSSL ciphers from being used. This was done because some ciphers have been known to causes crashes and data corruption.

    A couple of tweaks for GNU compat reasons with
    info.el updated to correctly handle UTF-8 info docs (note that some MULE packages are still needed for the complete user experience)

    #'directory-files and #'directory-files-recur were updated and fixed so that now they do what their doc strings say they can. ;-)


SXEmacs 22.1.16 "Hillman Hunter" has been released!

22.1.16 Higlights

  • Bugs closed in this release: 132, 141, 152, 155, 156, 158, 160, 161, 162, 163, 165, 169, 170, 171, 172, 173, 174, 176, 181
  • Multimedia fixes/updates -- Ferreira, Youngs.
    SoX and FFmpeg support was brought back and mostly fixed. PulseAudio has been brought back, and support for "media roles" was added.
  • Build chain fixes/updates -- Meier, Ferreira, Burkhardt, Youngs
    A lot of work went into stamping out compiler warnings and errors to give us a much cleaner/safer build.
  • FFI updates -- Zajcev, Youngs.
  • Don't reset the cursor upon exit on a TTY -- Youngs.
    Since the beginning of time, whenever you exited emacs on a TTY you'd find that your cursor had been reset to a horrible great big block. We thought that you'd probably prefer to have the cursor you were using before you started SXEmacs.
  • Contrib updates/fixes/additions -- Ferreira, Youngs.
    Of note here is the rewritten '' script. It is designed for SXEmacs developers, both old and new, to help get everything super organised in their git repo and fast-track them to contributing and hacking.
  • Make docs compatible with Texinfo 5.x -- Youngs.
  • Support Unix user/group lookups -- Ferreira.
  • XDG compliance -- Youngs.
    SXEmacs now looks for user files in locations that are much more inline with modern standards and conventions.

    `user-init-directory' is now ${XDG_CONFIG_HOME}/sxemacs or ~/.config/sxemacs if $XDG_CONFIG_HOME is not set.

    User packages will now be searched for in ${XDG_DATA_HOME}/sxemacs (~/.local/share/sxemacs).

    The old legacy directory `~/.sxemacs' is still supported, and in fact will still be used if the XDG directories don't exist and it (the legacy dir) does. A user can also force use of the legacy directory if they so choose.
  • Add wildcard support to #'find-file et al. -- Youngs.
  • Fix coding cookies -- Youngs.
  • "In-tree builds" are no longer supported. -- Youngs.
  • TTY related fixes/updates -- Ferreira.
  • Various minor updates/tweaks/fixes -- Burkhardt, Ferreira, Youngs.


SXEmacs 22.1.15 "Goggomobil" has been released!

22.1.15 Higlights

  • Bugs closed in this release: 76, 78, 88, 106, 108, 112, 121, 122, 125, 126, 127, 128, 131, 134, 135, 136, 137, 138, 139, 140
  • Coverity integrity scan fixes -- Ferreira.
    Coverity offers source code integrity analysis scans. These scans often uncover bugs and security issues that would otherwise go unnoticed. When we first scanned the SXEmacs code base with the Coverity scanner we had ourselves roughly 500 "defects". Nelson Ferreira has pretty much single-handedly fixed them ALL!! Well done, Nelson and thanks a million!!!
  • Build related fixes/updates -- Ferreira, Freundt, Horelick, Meier, Youngs.
    With fixes for:
    • SuSe
    • PowerPC
    • MacOS
    • FreeBSD
    • NetBSD
    • OpenIndiana
  • Bitrot removal -- Burkhardt, Youngs.
    We got rid of some stuff too, including: aRts, GTKv1, tooltalk, and a bunch of stuff from lib-src.
  • Whitespace cleansing -- Youngs.
  • Support libpng 1.5.x -- Youngs.


SXEmacs 22.1.14 "Geo" has been released!

22.1.14 Highlights

This release cycle was all about upating all of the versioning information and the build chain to be compatible with git.


SXEmacs switches to git

People have been asking for it ever since we started this project. Well, it is now a reality… The SXEmacs sources are now kept in a git repository.

The migration went very smoothly, a lot smoother than I was anticipating. Which was nice. There was one downside, however… History. We lost all of the history up to this point. Technically, it's not completely lost. It is just not in the git repo. You can still get all the history you could ever want by leeching the tla repos. And don't forget that when we first forked from XEmacs we lost all of the XEmacs CVS history. That never caused any problems or issues, so I don't expect it to this time.

As of right now, the SXEmacs git repo is open for business. You can get our latest sources with…

git clone

That URL is deliberately not a hyperlink because you can only get to that URL with a git client.

Till next time…


SXEmacs 22.1.12 "Fiat" has been released!

22.1.12 Highlights

  • Bugs closed in this release: 69, 86, 107, 109, 110, 111, 113, 114, 115, 117, 118, 120
  • Build chain fixes and updates -- Ferreira, Freundt, Youngs.
    • Fix building without eye-candy (*bars, widgets, etc)
    • Begin work on getting SXEmacs built on Arm Linux
    • Fix NetBSD 5 build
    • Mac OS build fixes
  • FFI improvements, updates, and enhancements -- Zajcev
  • Source tree reorganisation -- Ferreira. Nelson put a lot of working into reorganising the SXEmacs source tree hierarchy. This was done with the view to making maintenance and debugging easier, and also to simplify adding new features. There are now several subdirectories under src…
New src hierarchy
src/database has the database code
src/ent has the "Enhance Number Types" code
src/events has the "events" code
src/media has all the multimedia code
src/mem has memory related code
src/mule has the MULE stuff
src/ui has the UI code common to all toolkits
src/ui/Gtk has the old (non-working) GTK 1 code
src/ui/TTY has the TTY UI code
src/ui/X11 has the X11 UI code
src/ui/lwlib has the Lucid stuff


We Are Still ALIVE!!

Contrary to popular opinion, this project is still very much alive and kicking. Sure, sometimes we take extended breaks, but we always come back to "tinker". :-) A lot has been going on in the lives of us mortal develpers during this last year. The unfortunate thing for SXEmacs was that not much of the goings on were SXEmacs-related. Which is why you've not seen much in the way of activity here for the last year.

A few of the more notible SXEmacs-related things that did happen in the last 12 months have been…

  • We moved to a new hosting provider. All of SXEmacs, (including website, issue tracker, mailing lists, downloads, and the main source repo), is now served up to you by the awesome folks at Dreamhost.
  • We skipped a version! Erm, long story, short… it was to do with the move to the new host, and it was simply best for Steve's sanity and tla revision numbering to just skip a version. So 22.1.12 is now the current development version. There is a ChangeLog for 22.1.11 if you want to take a look at what went on during that dev cycle.
  • Nelson has been the busiest of us. One of the things he has been working on has been a huge re-organisation of the src directory. Instead of all of the C source being lumped into a single directory, it is now split into logical sub-directories. It is now much tidier, and a lot easier to maintain and work with.

That's about it on the news front. Hopefully we'll be able to cut a new release some time fairly soon. My hope is for before the end of the year.

Till next time…


Website updates

The SXEmacs website has undergone a bit of work recently. Hopefully it'll make your stay more enjoyable, and you'll want to come back again and again. Bring your friends!

Some of the new stuff…

  • "Google" Friends widget
  • A "Twitter Ticker" tracking emacs related tweets
  • Google Ads. Hey, we gotta eat. Please click em
  • New screenshot "thumbnails" page
  • Some cosmetic updates to maintain consistent look/feel


SXEmacs 22.1.10 "Excalibur" has been released!

22.1.10 Highlights

  • Bugs closed in this release: 41, 65, 74, 75, 79, 80, 81, 82, 83, 84, 85, 87, 89, 90, 91, 92, 93, 94, 95, 96, 97, 99, 100, 101, 102, 104
  • Cool New Sexy Stuff. Of course every release must have some cool new stuff. Here's what's new in this release…
    • User defined readers
    • It's possible to display video in a glyph object in a buffer.
    • SXEmacs is now a fairly decent image viewing/manipulation app. There's an undo/redo stack, zoom in/out, rotate, chop/crop, red-eye reduction. There is a whole swag of transformations supported: charcoal, contrast, despeckle, edge, enhance, equalise, gausian blur, negate, normalise, oil painting, radial blur, 3D button effect, sharpen, solarise, and swirl. Who needs The Gimp when you have SXEmacs!
    • Added some MacOS icons.
    • Support for sqlite3 via FFI
    • New way for SXEmacs to handle different file types. It allows you to have #'find-file take different actions based on a predicate. See the new variable `find-file-magic-files-alist'.
    • Enable PNG transparent backgrounds. Unfortunately this doesn't work if you use a background pixmap.
    • FFI callbacks implemented.
    • Dbus support via FFI (not completed). This should be considered very much incomplete and experimental. Only rudimentary support is there so far.
  • Build chain fixes/improvements. Quite a few build chain related changes were made in this release, including…
    • Work around a bug in GCC 4.5.0
    • Powerpc/BSD cpu detection
    • A compliant sxemacs.desktop file is now installed.
    • Updated FFmpeg detection.
    • OpenSSL 1.0.0 detection. OpenSSL is no on by default.
    • Fix a link error when building with no MPQ
    • Fix a minor bison related issue (YYSTYPE)
    • Fix building with latest SoX
    • Fix --without-x builds
    • Fix many C compiler warnings and elisp byte-compiler warnings.
    • Fix install for non-FFI and non-Mule builds
    • Fix etags build for systems without getopt_long
    • Fix (hopefully) parallel builds
    • Fix BDWGC-enabled builds
  • Minor updates to BDWGC code.
  • Catch up with latest ffmpeg API changes.
  • Fix for latest ediff.
  • Fix for subwindow resizing.
  • FFI improvements.
  • ENT fixes.
  • TTY fixes.
  • Cleaner dump file (less pollution from the build/src dir).
  • Improve #'file-basename. It can now take a 2nd arg for extension stripping.
  • Misc doc fixes/updates.


Chat with the developers

Do you have a SXEmacs problem that can't wait for email to go back and forth? Or do you have some amazing new feature you'd like to see in SXEmacs but can't wait to tell someone? Or perhaps you just wanna shoot the breeze? Well your troubles are over…

The SXEmacs web site now offers real-time chat with the developers. See the "SXEmacs Chat" menu entry on each page, or follow this link.


News RSS feed back up!

Yep, that's right. After years of no news RSS, it has finally been fixed. Many thanks and kudos to Hynek Schlawack for the sexy new Python script that RSS-ifies the entries on the SXEmacs news page.


Mailing list subscriptions fixed!

Subscribing to the mailing lists is now working again. Please accept our deepest apologies for taking so long to get this issue sorted out. It was some corruption in the affected lists' config.pck and the backups were corrupt as well. Removing the lists and then recreating them solved the problem. The original member db remained intact, as did the archives, so all being well everthing should just work.


Updated items in the shop!

You've seen the blood-dripping beta logo, now you can get that on your T-shirt, or coffee mug, even on a courier bag, or wall clock. Go check out the shop!


Behind the scenes updates to SXEmacs website

We've made a few changes under the hood at the SXEmacs website. Pretty much all of the HTML has been re-written from the ground up. And if Steve did it right, you shouldn't notice a thing. :-) Almost all of the changes made were designed to do 2 things…

  1. Preserve look/feel across entire site
  2. Easier maintenance for the webmaster


SXEmacs website offers retail therapy

Do you need retail therapy? We can help. We've just added two outlets for your frustrations. One for the memorabilia junkie at our SXEmacs Store. And one for those special occasions at our Amazon Store.

Be sure to check them both out, and spend up big! :-) All the proceeds go to keeping the SXEmacs Project running.


SXEmacs 22.1.9 "Edsel" has been released!

22.1.9 Highlights

  • Bugs closed in this release: 32, 33, 34, 35, 36, 37, 38, 39, 40, 42, 45, 46, 47, 48, 49, 50, 51, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62. See our Issue Tracker for the details.
  • New garbage collector BDWGC. SXEmacs can now use the Boehm-Demers-Weiser garbage collector. It is still experimental at this stage and there are known bugs (memory leak). If you have plenty of RAM it is quite usable, and noticably faster than non-BDWGC SXEmacsen. This new feature is not on by default. To get it, configure with --with-experimental-features=all.
  • Support 256 colour terminals. Support for 256 colour terminals and colour resolution through approximation for tty devices.
  • New function, #'mapfam. This new function is an extrememly powerful replacement for _all_ of the current map functions. It not only can do the job of the existing map functions, but can also convert any sequence to any other sequence. Lots of other cool features as well, see its doc string for full details.
  • New FFI util, ffi-magic.el. Uses libmagic to guess file type.
  • Cool new stuff in the contrib directory. There are tla hook scripts, build scripts, and build-report scripts.
  • Build chain fixes and improvements. Better detection of ALSA, ffmpeg, libffi, libbind, and many other various bits and pieces. General build related fixes were made for MacOS, Solaris, HPUX, and of course, Linux.
  • Init file migration code removed. We feel that it is better to NOT mess with other emacsen's set ups.
  • Compiler warning fixes.
  • PNG images optimised for size.
  • Re-work auto-autoloads loading a little. Priority is given to packages installed under ~/.sxemacs/ and care is taken to eliminate those "foo-autoloads already loaded" warnings.
  • Support for BSD's MP removed.
  • Emodule search path/loading fixes. Emodule load path has been made sane. #'load-module and #'locate-module have both been vastly improved and both have completion.
  • FFI improvements. The FFI code has been improved so that it can be compatible with XEmacs 21.5 for when they merge our FFI into their code base. Also #'ffi-load and #'ffi-load-library no longer need to be given a file extension as part of the arg to allow for different platforms having different shlib extensions. Also, some UI enhancements were added to ffi-curl.el and ffi-taglib.el.
  • Etags improvements. A bit of "UI" has been added to etags.el, as well as some code optimising.


SXEmacs 22.1.8 "Daimler" has been released!

22.1.8 Highlights

  • Bugs closed in this release: 22, 24, 26, 27, 29, 31. The reason for the apparent double up of closed bugs from the previous release is because our bug index got reset during a rebuild.
  • SXEmacs now has a libtool based build chain.
  • Bootstrapping packages is now a little more friendly and foolproof (hopefully).
  • User cutomisations are now saved to ~/.sxemacs/custom-${USER}.el if the old style custom.el doesn't exist.
  • custom-defines.el files. These are like auto-autoload.el files, but for defcustom's etc.
  • Support for :inherit face keyword.
  • A new rc.d style init mechanism. (the normal ~/.sxemacs/init.el is still supported of course)
  • New resize echo area. (not to be confused with rsz-minibuffer.el)
  • #'describe-function now reports global keybindings for commands.
  • New %b spec for #'format for converting between ints and bit vectors.
  • Various minor doc fixes, typos, and other trivial things.


SXEmacs switches to GPLv3

Most of the source code in SXEmacs is licenced under the GNU General Public Licence (GPL). Today SXEmacs switched to the latest version of the GPL, GPLv3.


SXEmacs 22.1.7 "De Lorean" has been released!

22.1.7 Highlights

  • Bugs closed in this release: 13, 20, 21, 24, 25, 27, 28, 31 (see issue tracker)
  • Much reworking of the build chain. Quite a bit has changed here, a few options have been changed, added, or removed. So if you haven't been following the development it might pay you to have a look at our configure's --help output.
  • Fix emodule loading on 64bit machines.
  • Security fix in movemail.c (mktemp()->mkstemp()).
  • Etags synched up to upstream 17.32.
  • Updates/fixes to dllists/skiplists.
  • Lots of updates in the ENT area (Enhanced Number Types). Some stuff has been moved to an external emodule, "ASE" (Algebraic Structures for ENT or "ASE Supersedes ENT"). Also directed graphs have been introduced (sparse representation only so far). And introduce heaps (dense, dynamic, and week).
  • cl.el meets C. We've begun work on implementing the common lisp macros as an external emodule. The main focus here is speed, and initial benchmarks are _very_ exciting... The emod version of #'dotimes (#'cl:dotimes) can be nearly 200 times faster than its elisp counterpart! This isn't finished yet, but watch future releases.
  • package-suppress mechanism ported from XEmacs 21.5.
  • Asynchronous version of #'curl:download added called #'curl:download&.
  • Font-lock improvements, especially on TTYs.
  • Fix info search path.
  • Change default setting for progress guages to be off.
  • Multimedia updates/fixes. Lots of reworking has been done here, especially with PulseAudio, ffmpeg, and threading of the audio jobs etc. Support for gstreamer and xine has been dropped, and libmagic added.
  • New macro to define "toggle" variables #'define-toggle-variable. I wouldn't normally list a single new macro in this file, but this one deserves a mention. It sets up toggle variables, including #'turn-on-VAR, #'turn-off-VAR, and #'toggle-VAR. Very nifty.
  • Many many compiler warnings have been fixed. Almost all byte-compiler warnings have been fixed in our build. And a good deal of the warnings in the C code of a standard build has been fixed as well.
  • GC fixes/updates.
  • A contrib directory has been added to the tree. So far there are patches in there to pop3.el, smtpmail.el, and starttls.el which takes advantage of some of SXEmacs' cool native features like OpenSSL. Watch this space for more nifty things.
  • Documentation updates: sppm, lispref, tips, building, processes, and internals manuals.


SXEmacs Release Archive Mirror

I'm very happy to announce that the kind folks at Planet Mirror are providing mirroring service for us.


SXEmacs 22.1.6 "Cadillac" has been released!

22.1.6 Highlights

  • Enhanced Number Types (ENT) fixes and updates.
  • Multimedia fixes and updates.
  • New ffi-gcrypt.el bringing GnuPG's libgrypt bindings to SXEmacs.
  • Line and column numbers in the modeline are now padded for improved readability.
  • New skiplists. This is a basic implementation of Pugh's skip lists. Their efficiency is overwhelming when compared to alists or plists. They also perform better on insertion and removal than large hash-tables (due to the resizing/rehashing which takes place). They can be created almost as fast as lisp lists and thus beat hash-tables there, too.
  • Module (DSO) load paths were fixed.
  • Test suite improvements and updates.
  • Etags fixes. The Makefile Etags targets work now and etags.el has been fixed to work with the include directive and tags completion is working.
  • Fix a problem with raw string parsing.
  • Sync bytecomp-runtime.el with XE 21.5 to take advantage of the *-f?boundp macros.
  • OpenSSL updates/fixes/improvements, providing support for certificate authorities (CA), for peer certificates and, using the network-server-streams, secure listening sockets. This will allow to connect/accept to/from servers/clients which require valid peer certificates.
  • New PulseAudio support replacing PolypAudio.
  • New caching compiled regular expressions.
  • Fix many build related issues.
  • Major restructuring of the build chain. SXEmacs is now a completely autotooled project, using aclocal, automake, autoheader, autoconf.
  • Move to a FHS-compliant install hierarchy.
  • Drag 'n' Drop has been removed.
  • Fix bug in lib-complete that was causing find-function to visit .elc files if running inplace.
  • Fix stack overflow bug in mapconcat.
  • Update about.el, see: M-x about-sxemacs.
  • Lots of documentation updates, fixes, and improvements.


The documentation is now online

As of today, the 127278 lines of documentation that comes with SXEmacs is available for browsing online. You'll see a link in the menu on each page here.


SXEmacs 22.1.5 "Bugatti" has been released!

There were a few build-related problems with the last release so this is primarily a maintenence/bugfix release.

22.1.5 Highlights

  • was sometimes generating an incorrect version.
  • Autoconf fixes and updates. Most of the changes in this release were centered around our autoconf scripts.
    - Recognise $CFLAGS environment variables
    - X toolkit autodetection redone
    - TTY autodetection fixed
    - PostgreSQL detection properly reported
    - Change allowed values for menubars, dialogs, widgets
    menubars -- no athena or motif
    dialogs -- no lucid
    widgets -- no lucid
    - Set configure's "bugreport address" to
    - Fix gdbm/berkdb detection
    - Improve libc version detection
  • New convenience Makefile target, "build-report". This target is especially designed to make life easier for sending in build reports. Basically it saves make output to the appropriate place and also ensures that a make check is run.
  • A SELinux/libffi quirk and a GMP/mpfr issue has been noted in PROBLEMS.
  • A pdump/ENT bug on *BSD has been fixed.


SXEmacs 22.1.4 "Bentley Turbo" has been released!

22.1.4 Highlights

  • Server sockets! Welcome to the brave new world of SXEmacs listening for TCP and UDP connections, with all the fix-ins for creating network servers. Yes, now you can have SXEmacs be your web server. See `open-network-server-stream'.
  • SXEmacs audio. SXEmacs supports several "sound servers" like: OSS, NAS, ESD, Polypaudio, ALSA, aRts, and Jack. And media streams can be handled by sndfile, ffmpeg, sox, mad, xine, gstreamer. The SXEmacs developers recommend Polyp/ffmpeg whenever possible. And yes, SXEmacs can play mp3 files. :-)
  • Autoconf updates. The big one here is that all enable and disable options have been converted to with and without options.
  • A recursive implementation of `directory-files', called `directory-files-recur' has been added. It is lightning fast... in some situations, even faster than find(1)
  • Double linked lists and bloom filters have been implemented.
  • OpenSSL digest, encryption, and decryption routines have been added for files. Previously this could only be done with buffers.
  • Athena is now the default toolkit used instead of Motif.
  • Embeddable keyboard macros. You can execute a keyboard macro while you are in the middle of defining a keyboard macro.
  • Mule is on by default. You can turn it off using the --without-mule configure option.
  • Display any image format that is supported by ImageMagick's libWand. Requires FFI-enabled SXEmacs and libWand.
  • Lots of updates and improvements to ENT (Enhanced Number Types).
  • Build report updates. The SXEmacs version no longer conflicts with the XEmacs build.el. It also displays a lot more interesting info. And can even use Gnus to send the reports.
  • `report-sxemacs-bug' now directs people to the SXEmacs issue tracker at
  • SXEmacs now builds clean on FreeBSD and NetBSD.


This news page is now also published as a RSS feed.


SXEmacs web site finally gets some content that doesn't leave you wondering what the hell this SXEmacs thing is anyway. Also, as you can see, the news items are now on their own page. And we've created an RSS feed to the commit logs to the mainline repo. There's a link in the menu of each page.


There's a problem with SXEmacs 22.1.3 and installing on BSD systems. A virtually empty auto-autoloads.el file was being installed which made SXEmacs unusable. This tiny patch fixes it.

We are also aware of some problems with building on Solaris 9. We are working on fixing those problems and will post a patch as soon as it is ready.


Has it really been that long since the last bit of news or release? We have a new release! And just in time for Christmas, too. :-)

SXEmacs 22.1.3 has been released!

22.1.3 Highlights

  • Enhanced number types -- SXEmacs now has all sorts of enhanced number types. Things like bignum, bigfloat, fractions, mpfr-floats, complex-numbers, gaussian-numbers, residue classes and residue class rings.
  • Raw Strings -- SXEmacs supports Python-like raw strings. This will cut back dramatically on the backslashitis that elisp hackers suffer from.
  • FFI -- Downloading HTTP headers is now possible, and FTP transfers have been fixed.
  • Mouse -- You can now bind up to 32 mouse buttons. (global-set-key [(button32)] 'some-function) And you thought you had enough trouble trying to remember all the key bindings... :-)
  • Uptime -- Try M-x uptime and C-u M-x uptime
  • Bootstrapping PUI -- SXEmacs no longer needs to have any packages pre-installed before the package tools (PUI) are usable. As long as you have a FFI-enabled SXEmacs and libcurl (very likely) you can "bootstrap" PUI by choosing a download site and running M-x pui-bootstrap
  • Improved font-locking in a TTY -- To illustrate, fire up a vanilla SXEmacs (sxemacs -vanilla) and look at the modeline. Then open a .c file and turn on font-lock (M-x font-lock-mode).
  • Autoconf fixes -- All configure options have help strings and state what the default setting is. PostgreSQL detection has been improved and simplified. Most users shouldn't need to specify the pgsql prefix in `--with-site-prefixes' to get PostgreSQL support.
  • Building SXEmacs with C++ Compiler -- This is no longer supported. To build SXEmacs you will need an ANSI-compatible C compiler of at least GCC 2.95.3 equivalence.
  • Documentation (Texinfo) -- Have all been updated to mention "SXEmacs" instead of "XEmacs" where appropriate. The main SXEmacs manual is now


Wow, it's been a while since I updated this page. Sorry 'bout that. My excuse is that I hate doing HTML and I'm a lazy bastard. Anyway, a lot's been going on since, most notably:

SXEmacs 22.1.2 has been released!

22.1.2 Highlights

  • FFI -- This is our "Foreign Function Interface". In a nutshell, it is a way to bring any function from any external library to lisp. As an example, this version of SXEmacs can download files from the internet without the need for any XEmacs lisp packages such as EFS. It uses libcurl. Note that libcurl is not needed to build SXEmacs.
  • OpenSSL -- SXEmacs can be linked with OpenSSL libcrypto and libssl to provide a comprehensive gateway to cryptographic and related functions. Note, this is still experimental.
  • GC -- Garbage Collection. SXEmacs still garbage collects as much as it always had, it is just now it doesn't print messages to the echo area as often as it used to.
  • Autoconf -- The SXEmacs autoconf scripts are all autoconf version 2.59 compatible.
  • Etags -- Updated to upstream version 17.11 of etags.c
  • Win32 -- Most of the win32 code is now gone.
  • Security -- A potential vulnerability has been fixed in movemail.c


Added "Developer Pages" section.


Our BugZilla issue tracker is now online and ready for use (see the link in the menu). It's actually been operational for a while but I forgot to mention it. :-)


We now have Autoconf 2.59 compatible configuration scripts. The preliminary work is in sxemacs--main--22.1.2--patch-3 (see the download page for how to get this via tla).

Take care with it. Many of the configure options have changed. And at this stage, we are expecting breakage as it is very difficult to test all configurations.


It is with great pride and pleasure that the SXEmacs Team brings you another SXEmacs release.

Today, SXEmacs 22.1.1 was released. Source tarballs are available from our download page. And you can view the changes in this release here.


With thanks to the wonderful folks at Tux.Org, I am very pleased to announce that we now have an FTP site! Check it out:


The sxemacs-devel mailing list is now available via Gmane. This is great because it means less load on my mail server. There is a downside (from my point of view) however. I can no longer keep accurate records of numbers of developers etc. So...

If you want to be "counted" as a SXEmacs developer, could you please subscribe to the list in the normal way. If you'd rather read/post via Gmane, that's cool, just mark your "real" subscription as "no delivery".


Let me introduce you to our core team:


Today, SXEmacs was announced to the world on the XEmacs and GNU/Emacs mailing lists. See the original post.