Generated by GPT-5-mini| XEmacs | |
|---|---|
| Name | XEmacs |
| Developer | Lucid Inc.; XEmacs Development Team |
| Released | 1991 |
| Latest release | see Releases and Versioning |
| Programming language | C, Emacs Lisp |
| Operating system | Unix-like, Microsoft Windows, macOS |
| Platform | x86, x86-64, PowerPC, SPARC |
| Genre | Text editor, Integrated development environment |
| License | GNU General Public License (historically) |
XEmacs is a highly extensible and customizable text editor and computing environment descended from the Emacs family. It evolved as a fork from an earlier Emacs implementation and became notable for its graphical features, internationalization, and package-oriented extensions. XEmacs has been used in research, academic, and commercial settings and intersected with many notable projects, institutions, and contributors.
The project's origins trace to a split involving developers associated with Lucid Inc., Richard Stallman, Free Software Foundation, and contributors from academic labs such as MIT Laboratory for Computer Science, Carnegie Mellon University, and University of California, Berkeley. Early maintenance and coordination involved figures connected to GNU Project, Open Source Initiative, X Window System, and vendors like Sun Microsystems and IBM. Over time the development community engaged with organizations such as Red Hat, Debian, SuSE, Canonical (company), and research groups at Stanford University and University of Cambridge that used XEmacs in projects related to NeXTSTEP, GNUstep, and Cairo (graphics) integration. The history includes interactions with standards and ecosystems represented by POSIX, X11, Unicode, and toolchains like GCC and LLVM. Disputes in the community echoed broader debates seen between Free Software Foundation and Open Source Initiative adherents, influencing governance, contribution policy, and compatibility with GNU Emacs.
XEmacs provided advanced graphical features, menu systems, and widget toolkits integrated with libraries such as GTK+, Motif, Athena (X Window System), and Xaw. Its internationalization leveraged standards like ISO 10646, Unicode, and systems used by glibc locales and ICU (software). Editing capabilities included support for programming languages and systems such as C++, Python (programming language), Java (programming language), Perl, PHP, Ruby (programming language), Lisp (programming language), Scheme (programming language), Make (software), and markup formats used in LaTeX, HTML, XML, and Markdown. Integration points existed with build systems and tools like Autoconf, Automake, CMake, GDB, Valgrind, and version control systems such as Git, Subversion, CVS, Mercurial, and RCS. The package and extension ecosystem encompassed utilities for debugging, project management, mail reading connected to servers such as Sendmail, Postfix, and Dovecot, and interfaces to services like NNTP and LDAP.
The implementation combined a core written in C (programming language) with an extension language based on Emacs Lisp, enabling runtime customization and mode development. The display and input subsystems interfaced with X.Org Server, Wayland experimentation, and native windowing on Microsoft Windows and macOS using platform-specific APIs. Build and portability efforts required work with toolchains and libraries including GNU Compiler Collection, Binutils, glibc, musl, and package managers like RPM, APT (software), and Homebrew (package manager). Memory management and performance considerations involved libraries and techniques used in systems like SQLite and influenced by projects such as GNU Emacs and Erlang runtime ideas for concurrency and process isolation. Internationalization relied on Unicode support from ICU (software) and font systems such as Fontconfig and FreeType.
Development was coordinated among volunteers, corporate contributors, and academic researchers with affiliations to institutions like Bell Labs, MIT, ETH Zurich, Max Planck Society, and companies including Oracle Corporation and Intel. Governance models contrasted with structures used by Debian Project, Apache Software Foundation, and Linux Foundation, with mailing lists, patches, and review processes similar to contributions in projects such as GNOME, KDE, GIMP, and LibreOffice. The community interacted with packaging maintainers in distributions like Fedora, Arch Linux, Gentoo, OpenBSD, NetBSD, and FreeBSD. Conferences and workshops where XEmacs appeared included presentations at USENIX, FOSDEM, PyCon, and university seminars tied to SIGPLAN and ACM events.
Releases followed a numbering and maintenance pattern influenced by practices used in GNU Emacs and other long-lived free software like Linux kernel and Apache HTTP Server. Binary and source packages were distributed through mirrors, archives, and distribution repositories managed by organizations such as Debian, GNU FTP, and SourceForge. Continuous integration and testing borrowed ideas from systems used by Travis CI, Jenkins, and GitLab CI/CD. Security advisories and changelogs paralleled processes employed by projects like OpenSSL and OpenSSH, and packaging teams coordinated with maintainers of RPM Fusion and EPEL.
XEmacs influenced user interface expectations and extensibility patterns adopted by editors and IDEs linked to communities around GNU Emacs, Eclipse (software), Visual Studio Code, Atom (text editor), and Sublime Text. Its design decisions impacted internationalization and widget integration seen in GNOME and KDE Plasma. Academic citations and software archaeology projects at institutions like Stanford University and University of California, Berkeley have examined XEmacs alongside historical systems such as Emacs, TECO, ED, and environments developed at Project MAC and Bell Labs. The project's forks, patches, and package ecosystem were referenced in studies of open-source governance comparable to analyses of Linux kernel development, Apache HTTP Server stewardship, and the evolution of Perl (programming language) and Python (programming language) tooling.
Category:Text editors