XEmacs -- Emacs: The Next Generation
     Searching XEmacs
Quick Links About XEmacs Getting XEmacs Customizing XEmacs Troubleshooting XEmacs Developing XEmacs

Who wrote XEmacs?

XEmacs is the result of the time and effort of many people, and the active developers have changed over time. There are two major components of the XEmacs effort -- writing the code itself and providing all the support work (testing the code, releasing beta and final versions, handling patches, reading bug reports, maintaining the web site, managing the mailing lists, etc. etc.). Neither component would work without the other.

For a list of all XEmacs contributors, see XEmacs Contributors.


The primary code contributor over the years has been Ben Wing (active since late 1992). Between 1991 and 1995, large amounts of coding was contributed by Jamie Zawinski and Chuck Thompson. Many other people have authored major subsystems or otherwise contributed large amounts of code, including Andy Piper, Hrvoje Niksic, Jerry James, Jonathan Harris, Kyle Jones, Martin Buchholz, Michael Sperber, Olivier Galibert, Richard Mlynarik, Stig, William M. Perry and plenty of others.

Primary XEmacs-specific subsystems and their authors:


  • Conversion from 26-bit to 28-bit pointers and integers, lrecords, lcrecords: Richard Mlynarik, 1994
  • Conversion to 32-bit pointers and 31-bit integers: Kyle Jones, Martin Buchholz
  • Portable dumper, object descriptions: Olivier Galibert
  • KKCC (new garbage collector), ephemerons, weak boxes: Michael Sperber and students
  • Random object work (object equal and hash methods, weak lists, lcrecord lists, bit vectors, dynarr, blocktype, opaque, string resizing): Ben Wing
  • Profiling: Ben Wing
  • Some byte-compilation and hash-table improvements: Martin Buchholz
  • Bignum: Jerry James



  • Basic event/event-stream implementation: Jamie Zawinski
  • Most event work since 1994: Ben Wing
  • Asynchronous stuff (async timeouts, signals, quit-checking): Ben Wing
  • Process method abstraction, Windows process work: Kirill 'Big K' Katsnelson
  • Misc-user events, async timeouts, most quit-checking and signal code, most other work since 1994: Ben Wing
  • Lstreams: Ben Wing


Device subsystems



Currently, support duties are handled by many different people.

Release managers have been

  • Stephen Turnbull (April 2001 - January 2003, March 2004 - present, 21.2.47 - 21.4.12, 21.5.2 - 21.5.7, 21.5.17 - present)
  • Vin Shelton (May 2003 - present, 21.4.13 - present)
  • Steve Youngs (July 2002 - September 2003, 21.5.8 - 21.5.16)
  • Martin Buchholz (December 1998, November 1999 - May 2001, 21.2.7 - 21.2.8, 21.2.21 - 21.2.46, 21.5.0 - 21.5.1)
  • Steve Baur (early 1997 - December 1998, February 1999 - November 1999, 19.15 - 21.2.5, 21.2.9 - 21.2.20)
  • Andy Piper (December 1998, 21.2.6)
  • Chuck Thompson (June 1994 - September 1996, 19.11 - 19.14)
  • Jamie Zawinski (April 1991 - June 1994, 19.0 - 19.10)

The recent overlapping dates are intentional, since two or three trees are maintained simultaneously at any point.

Other major support work:


Conform with <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
Automatically validated by PSGML