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

Architecting XEmacs - Home Page

This site describes important changes that I (Ben Wing) would like to see made to XEmacs, along with detailed descriptions of exactly how to implement these changes. Everything in this site is open to discussion, and in fact I would very much like to see this site developed cooperatively, just like XEmacs itself is. If you would like to contact me about this site, please email me at ben@xemacs.org. (Please note, however, that I cannot currently type, so the response to your message may come back in the form of an email audio attachment. Currently this will be in either the RealAudio or GSM-WAV format.)

This site was written by Ben Wing. Martin Buchholz provided the extensive links at the bottom of this page and did invaluable proof-reading and editing for this site. Meg Cullum did a great job transcribing the pages in this site from tapes that I dictated.


  1. Introduction
  2. Version number and development tree organization

Very Short-term (21.1)

  1. Showstoppers to fix before releasing 21.0
  2. Improvements to the xemacs.org website
  3. xemacs.org mailing address changes
  4. ~/.xemacs should not be a package directory (not yet written)

Short-term (21.x)

  1. Marcus Crestani's work on the Lisp memory manager
  2. Unexec replacement
  3. Making elisp function calls faster
  4. Better support for Windows style key bindings
  5. Standard interface for enabling extensions
  6. Package system review (not yet written)
  7. The `compat' package
  8. Print support for Windows (not yet written)
  9. Abstracted mouse pointer interface
  10. Abstracted color list interface
  11. Custom review (not yet written)

Medium-term (22.x)

  1. Dialog boxes
  2. General Lisp interface changes (keyword arguments, generalized property interface, toolbar and menubar changes, etc.)
  3. Profiling (not yet written)
  4. Easier toolbar customization
  5. Keyboard action interface (really solve the backspace/delete problem, etc.) (not yet written)
  6. Better structures in Elisp (not yet written)
  7. Better initialization file scheme (initialization files in .xemacs subdirectory, custom options in separate file, etc.)
  8. Removal of misc-user event type (broken up into separate event types)
  9. Redo drag-n-drop interface
  10. Non-standard keybinding scheme support (Vi, Brief, CodeWright, VC++, etc.)

Internationalization (22.x)

  1. Introduction to Internationalization Issues in the Win32 API
  2. International support improvement (synching with GNU Emacs, etc.) (not yet written)
  3. MULE filename issues (not yet written)
  4. Changes to MULE typedefs (not yet written)
  5. Changes to MULE FORMAT_s (not yet written)
  6. Changes to GET_CHARPTR_*_ALLOCA macros (not yet written)
  7. Clean up file-coding.c (not yet written)
  8. Add UCS2/Unicode support (new coding system subtype) (not yet written)
  9. Long-term international support changes (not yet written)

Blue Sky (23.x)

  1. Redisplay rewrite (not yet written)
  2. Lisp engine changes
  3. Implementation of a lisp engine replacement
  4. Dynamic module loading (not yet written)
  5. OLE/COM interface under Windows (not yet written)
  6. Extent related changes

Other sources of ideas for improving XEmacs

  1. Michael Sperber's Lisp engine changes
  2. A Tour of XEmacs, by Ben Wing
  3. A one-page introduction to XEmacs

General Lisp Development Resources

  1. Scheme
  2. ELK - Extension Language Kit
  3. Common Lisp The Language - 2nd Edition (Guy Steele) and its mirrors
  4. Guile (About Guile)
  5. Reconciling Guile and Emacs Lisp

General C Development Resources

  1. Doug Lea Malloc
  2. Richard Jones's Garbage Collection page
  3. Unicode Consortium
  4. Open Group Publications Web Titles
  5. C - Approved standards
  6. Dinkum C++ (and C) Library Reference

Emacs variants

  1. The XEmacs homepage
  2. Emacs - FSF Home Page
  3. GNU Emacs FAQ For Windows 95/98/ME/XP, and 2000
  4. Mule Home Page

XEmacs on Windows Resources

  1. XEmacs Windows FAQ (previously at http://jagor.srce.hr/~hniksic/xemacs-on-windows-faq.txt)
  2. Fabrice Popineau's native Windows XEmacs binaries
  3. GNU Emacs for Windows NT and Windows 95

Independently maintained Elisp Packages

  1. Alexander Belikoff - ERC Irc client
  2. Anders Lannerbäck - auto-arg
  3. Andy Norman - efs ange-ftp gnuserv (previously at http://www.hpl.hp.co.uk/people/ange/)
  4. Barry Warsaw - cc-mode reporter supercite
  5. An Introduction to Programming in Emacs Lisp
  6. Bill Perry - W3 Web Browser
  7. Brian Tibbetts - Ispell V4.0 for NT/Emacs (previously at http://optics.ph.unimelb.edu.au/help/source/texcd2.2/gnu/GNU%20emacs/ispell_port.html)
  8. Bruce Ravel - gnuplot.el
  9. Christoph Wedler - x-symbol, template, session
  10. Emacs/CVS interface pcl-cvs
  11. Darryl Okahata - Extended mh-e
  12. David Aspinall - Proof General
  13. David Aspinall - Isamode
  14. Prolog mode for (X)Emacs
  15. Eric Ludlam - etalk Checkdoc COGRE EDE EIEIO Speedbar
  16. Francesco Potorti - etags
  17. Frédéric Lepied - iso-sgml expand cvs file-log which-function
  18. Gareth Owen - unmunge-general news-hack dialog-box
  19. Geoff Kuenning - ispell
  20. Gerd Neugebauer - iso-tex
  21. GNAT Project - Ada Mode
  22. Heiko Muenkel - hm--html-menus
  23. Herbert Dampel - battery.el info-look.el
  24. Ilya Zakharevich - (cperl-mode)
  25. Jari Aalto - Tiny Tools
  26. Kazu Yamamoto - Mew
  27. Ken Stevens - ispell.el interface to ispell
  28. Kyle Jones - VM Mail Reader
  29. Lars Garshol - css-mode.el
  30. Lars Ingebrigsten - Gnus News-/Mailreader
  31. Gnus/Imap Project (previously at http://www.extundo.com/gnus-imap/)
  32. Manuel Serrano - flyspell, case
  33. Ronan Waide (maintainer) - The Insidious Big Brother DataBase @ SourceForge
  34. Jamie Zawinski (Author) - BBDB (Big Brother Database)
  35. Nelson Minar - HTML Helper Mode
  36. Michael Kifer - Viper and Ediff
  37. Michael McNamara - Verilog Mode
  38. Noah Friedman - many cranium-expanding hacks
  39. Patrick LoPresti - Mailcrypt: An Emacs/PGP Interface
  40. Java Development Environment for Emacs
  41. Per Abrahamsen's AUC TeX
  42. Per Abrahamsen's Custom and Widget Packages
  43. Peter Pezaris - SQL Mode
  44. Alex Schroeder - SqlMode
  45. Philip Johnson - Egret
  46. P. S. Galbraith
  47. PRCS Project - prcs.el
  48. Raman's Emacspeak
  49. Rajesh Vaidheeswarran's p4.el (interface to perforce)
  50. Marco Antoniotti - ILISP
  51. Reto Zimmermann (maintainer)/Rod Whitby - Emacs VHDL Mode
  52. Bill Wohler - The mh-e Den
  53. X-ref Speller
  54. Yokota Hiroshi's Color-Mate
  55. Ohio State Elisp Archive
  56. GNU Emacs Lisp Archive

External C Libraries used when building XEmacs

Libraries for specific Image Formats


  1. XPM Home Page
  2. XPM FTP Site


  3. PNG (Portable Network Graphics) Home Site
  4. PNG FTP Site
  5. zlib Home Site (used by PNG)


  6. libjpeg Home Page
  7. JPEG Standards Committee
  9. JPEG FTP Site


  10. The Unofficial TIFF Home Page
  11. The Unofficial TIFF Home Page
  12. TIFF FTP Site


  13. Compface FTP Site

    Other libraries

  14. The libgr (Neil Becker) FTP Site (previously at ftp://ftp.ctd.comsat.com/pub/linux/ELF/)
  15. The NAS (Network Audio System) FTP Site
  16. The LessTif Home Page
  17. The Offix Home Page
  18. NCURSES - Frequently Asked Questions (FAQ)
  19. Berkeley DB
  20. GPM - General Purpose Mouse Interface
  21. XDND: Drag-and-Drop Protocol for the X Window System

Tools used when building XEmacs

  1. GCC Home Page - GNU Project - Free Software Foundation (FSF)
  2. Pentium Compiler Group
  3. Cygnus Information and Installation
  4. GNU Make - FSF Home Page
  5. GNU sed - FSF Home Page
  6. FSF Primary FTP site

Programs used by XEmacs at runtime

  1. Jean Loup Gailly's Gzip home page
  2. gzip - FSF Home Page
  3. CVS Home (CVS Resources)
  4. The bzip2 and libbzip2 official home page
  5. Exmh 2.6.3 Manual

Other XEmacs-related Software Resources

  1. O'Reilly's Open Source Home Page
  2. Linux Applications and Utilities Page

Programs Used to Develop XEmacs

  1. Texi2HTML - Open Source Texinfo to HTML Conversion Script
  2. Learning Autoconf and Automake
  3. Libtool Home Page
  4. The GNU configure and build system
  5. Recursive Make Considered Harmful
  6. Gnats - GNU Project - Free Software Foundation (FSF)
  7. Autoconf - FSF Home Page
  8. Automake - FSF Home Page
  9. patch - FSF Home Page
  10. GTK+ - The GIMP Toolkit

Ben Wing

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