Lably
Skip to content

GNU Emacs

GNU version of the Emacs text editor

  • 16 min read
  • 11 chapters

Related on Lably

Through Interpreter (computing), Operating system and Copyright

The program's tagline is "the extensible self-documenting text editor." Most functionality in GNU Emacs is implemented in user-accessible Emacs Lisp, allowing deep extensibility directly by users and through community-contributed packages. Its built-in features include a file browser and editor (Dired), an advanced calculator (Calc), an email client and news reader (Gnus), a Language Server Protocol integration, and the productivity system Org-mode. A large community of users have contributed extensions such as the Git interface Magit, the Vim emulation layer Evil, several search frameworks, the window manager EXWM, and tools for working with a wide range of programming languages.

History

The original EMACS was written in 1976 by David A. Moon and Guy L. Steele Jr. as a set of macros for the TECO editor, and in 1984, Richard Stallman began work on GNU Emacs, to produce a free software replacement to the proprietary Gosling Emacs. GNU Emacs was initially based on Gosling Emacs, but Stallman's replacement of its Mocklisp interpreter with a true Lisp interpreter required that nearly all of its code be rewritten. This became the first program released by the then-nascent GNU Project. GNU Emacs is written in C and provides Emacs Lisp, also implemented in C, as an extension language. Version 13, the first public release, was made on March 20, 1985. The first widely distributed version of GNU Emacs was version 15.34, released later in 1985. Early versions of GNU Emacs were numbered as "1.x.x," with the initial digit denoting the version of the C core. The "1" was dropped after version 1.12 as it was thought that the major number would never change, and thus the major version skipped from "1" to "13". A new third version number was added to represent changes made by user sites. In the current numbering scheme, a number with two components signifies a release version, with development versions having three components.

GNU Emacs was later ported to the Unix operating system. It offered more features than Gosling Emacs, in particular a full-featured Lisp as its extension language, and soon replaced Gosling Emacs as the de facto Unix Emacs editor. Markus Hess exploited a security flaw in GNU Emacs's email subsystem in his 1986 cracking spree, in which he gained superuser access to Unix computers.

Although users commonly submitted patches and Elisp code to the net.emacs newsgroup, participation in GNU Emacs development was relatively restricted until 1999, and was used as an example of the "Cathedral" development style in The Cathedral and the Bazaar. The project has since adopted a public development mailing list and anonymous CVS access. Development took place in a single CVS trunk until 2008, and today uses the Git DVCS.

Richard Stallman has remained the principal maintainer of GNU Emacs, but he has stepped back from the role at times. Stefan Monnier and Chong Yidong oversaw maintenance from 2008. On September 21, 2015, Monnier announced that he would be stepping down as maintainer effective with the feature freeze of Emacs 25. Longtime contributor John Wiegley was announced as the new maintainer on November 5, 2015. Wiegley was joined by Eli Zaretskii in July, 2016, and Lars Ingebrigtsen in September, 2020. Wiegley stepped down in 2018, and Ingebrigtsen concluded his term with the release of Emacs 29.1, leaving Zaretskii as lead maintainer. Stefan Kangas was appointed as co-maintainer in 2023, and Andrea Corallo joined Zaretskii and Kangas in 2024.

Sign in to keep reading

10 more chapters are free with a Lably account.

More in Computing and communication