HOME

TheInfoList



OR:

GNU Emacs is a free software text editor. It was created by
GNU Project The GNU Project () is a free software, mass collaboration project announced by Richard Stallman on September 27, 1983. Its goal is to give computer users freedom and control in their use of their computers and computing devices by collabor ...
founder
Richard Stallman Richard Matthew Stallman (; born March 16, 1953), also known by his initials, rms, is an American free software movement activist and programmer. He campaigns for software to be distributed in such a manner that its users have the freedom to ...
, based on the Emacs editor developed for
Unix Unix (; trademarked as UNIX) is a family of multitasking, multiuser computer operating systems that derive from the original AT&T Unix, whose development started in 1969 at the Bell Labs research center by Ken Thompson, Dennis Ritchie, ...
operating systems. GNU Emacs has been a central component of the GNU project and a flagship project of the free software movement. Its name has occasionally been shortened to GNUMACS. The tag line for GNU Emacs is "the extensible self-documenting text editor".


History

In 1976, Stallman wrote the first Emacs (“Editor MACroS”), and in 1984, began work on GNU Emacs, to produce a free software alternative 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 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 Unix (; trademarked as UNIX) is a family of multitasking, multiuser computer operating systems that derive from the original AT&T Unix, whose development started in 1969 at the Bell Labs research center by Ken Thompson, Dennis Ritchie, ...
operating system An operating system (OS) is system software that manages computer hardware, software resources, and provides common daemon (computing), services for computer programs. Time-sharing operating systems scheduler (computing), schedule tasks for ef ...
. 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 have overseen maintenance since 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.


Licensing

The terms of the GNU General Public License (GPL) state that the Emacs source code, including both the C and Emacs Lisp components, are freely available for examination, modification, and redistribution. Older versions of the GNU Emacs documentation appeared under an ad-hoc license that required the inclusion of certain text in any modified copy. In the GNU Emacs user's manual, for example, this included instructions for obtaining GNU Emacs and Richard Stallman's essay '' The GNU Manifesto''. The XEmacs manuals, which were inherited from older GNU Emacs manuals when the fork occurred, have the same license. Newer versions of the documentation use the GNU Free Documentation License with "invariant sections" that require the inclusion of the same documents and that the manuals proclaim themselves as ''GNU Manuals''. For GNU Emacs, like many other GNU packages, it remains policy to accept significant code contributions only if the copyright holder executes a suitable disclaimer or assignment of their copyright interest to the Free Software Foundation. Bug fixes and minor code contributions of fewer than 10 lines are exempt. This policy is in place so that the FSF can defend the software in court if its copyleft license is violated. In 2011, it was noticed that GNU Emacs had been accidentally releasing some binaries without corresponding source code for two years, in opposition to the intended spirit of the GPL. Richard Stallman described this incident as ''"a very bad mistake"'', which was promptly fixed. The FSF didn't sue any downstream redistributors who unknowingly violated the GPL by distributing these binaries.


Using GNU Emacs


Commands

In its normal editing mode, GNU Emacs behaves like other text editors and allows the user to insert characters with the corresponding keys and to move the editing point with the arrow keys. Escape key sequences or pressing the control key and/or the
meta key The Meta key is a modifier key on certain keyboards. It first appeared on the Stanford Artificial Intelligence Lab (SAIL) keyboard in 1970. History The Meta key first appeared on the Stanford Artificial Intelligence Lab (SAIL) keyboard in 19 ...
, alt key or super keys in conjunction with a regular key produces modified keystrokes that invoke functions from the Emacs Lisp environment. Commands such as save-buffer and save-buffers-kill-emacs combine multiple modified keystrokes. Some GNU Emacs commands work by invoking an external program, such as ispell for spell-checking or GNU Compiler Collection (gcc) for program compilation, parsing the program's output, and displaying the result in GNU Emacs. Emacs also supports "inferior processes"—long-lived processes that interact with an Emacs buffer. This is used to implement , running a Unix shell as inferior process, as well as read–eval–print loop (REPL) modes for various programming languages. Emacs' support for external processes makes it an attractive environment for interactive programming along the lines of Interlisp or Smalltalk. Users who prefer
IBM Common User Access Common User Access (CUA) is a standard for user interfaces to operating systems and computer programs. It was developed by IBM and first published in 1987 as part of their Systems Application Architecture. Used originally in the MVS/ESA, VM/ ...
-style keys can use , a package that originally was a third-party add-on but has been included in GNU Emacs since version 22.


Minibuffer

Emacs uses the "minibuffer," normally the bottommost line, to present status and request information—the functions that would typically be performed by
dialog box The dialog box (also called dialogue box (non-U.S. English), message box or simply dialog) is a graphical control element in the form of a small window that communicates information to the user and prompts them for a response. Dialog boxes ar ...
es in most GUIs. The minibuffer holds information such as text to target in a search or the name of a file to read or save. When applicable, command-line completion is available using the tab and space keys.


File management and display

Emacs keeps text in data structures known as buffers. Buffers may or may not be displayed onscreen, and all buffer features are accessible to both an Emacs Lisp program and to the user interface. The user can create new buffers and dismiss unwanted ones, and many buffers can exist at the same time. There is no upper limit on the number of buffers Emacs allows, other than hardware memory limits. Advanced users may amass hundreds of open buffers of various types relating to their current work. Emacs can be configured to save the list of open buffers on exit, and reopen this list when it is restarted. Some buffers contain text loaded from text files, which the user can edit and save back to permanent storage. These buffers are said to be "visiting" files. Buffers also serve to display other data, such as the output of Emacs commands, dired directory listings, documentation strings displayed by the "help" library and notification messages that in other editors would be displayed in a
dialog box The dialog box (also called dialogue box (non-U.S. English), message box or simply dialog) is a graphical control element in the form of a small window that communicates information to the user and prompts them for a response. Dialog boxes ar ...
. Some of these notifications are displayed briefly in the minibuffer, and GNU Emacs provides a buffer that keeps a history of the most recent notifications of this type. When the minibuffer is used for output from Emacs, it is called the "echo area". Longer notifications are displayed in buffers of their own. The maximum length of messages that will be displayed in the minibuffer is, of course, configurable. Buffers can also serve as input and output areas for an external process such as a shell or REPL. Buffers which Emacs creates on its own are typically named with asterisks on each end, to distinguish from user buffers. The list of open buffers is itself displayed in this type of buffer. Most Emacs key sequences remain functional in any buffer. For example, the standard Ctrl-s isearch function can be used to search filenames in dired buffers, and the file list can be saved to a text file just as any other buffer. dired buffers can be switched to a writable mode, in which filenames and attributes can be edited textually; when the buffer is saved, the changes are written to the filesystem. This allows multiple files to be renamed using the search and replace features of Emacs. When so equipped, Emacs displays
image files An Image file format is a file format for a digital image. There are many formats that can be used, such as JPEG, PNG, and GIF. Most formats up until 2022 were for storing 2D images, not 3D ones. The data stored in an image file format may b ...
in buffers. Emacs is binary safe and 8-bit clean. Emacs can split the editing area into separate non-overlapping sections called "windows," a feature that has been available since 1975, predating the graphical user interface in common use. In Emacs terminology, "windows" are similar to what other systems call " frames" or " panes" a rectangular portion of the program's display that can be updated and interacted with independently. Each Emacs window has a status bar called the "mode line" displayed by default at the bottom edge of the window. Emacs windows are available both in text-terminal and graphical modes and allow more than one buffer, or several parts of a buffer, to be displayed at once. Common applications are to display a dired buffer along with the contents of files in the current directory (there are special modes to make the file buffer follow the file highlighted in dired), to display the source code of a program in one window while another displays a shell buffer with the results of compiling the program, to run a debugger along with a shell buffer running the program, to work on code while displaying a man page or other documentation (possibly loaded over the World Wide Web using one of Emacs' built-in web browsers) or simply to display multiple files for editing at once such as a header along with its implementation file for C-based languages. In addition, there is , a minor mode that chains windows to display non-overlapping portions of a buffer. Using , a single file can be displayed in multiple side-by-side windows that update appropriately when scrolled. In addition, Emacs supports "narrowing" a buffer to display only a portion of a file, with top/bottom of buffer navigation functionality and buffer size calculations reflecting only the selected range. Emacs windows are tiled and cannot appear "above" or "below" their companions. Emacs can launch multiple "frames", which are displayed as individual windows in a graphical environment. On a text terminal, multiple frames are displayed stacked filling the entire terminal, and can be switched using the standard Emacs commands.


Major modes

GNU Emacs can display or edit a variety of different types of text and adapts its behavior by entering add-on
modes Mode ( la, modus meaning "manner, tune, measure, due measure, rhythm, melody") may refer to: Arts and entertainment * '' MO''D''E (magazine)'', a defunct U.S. women's fashion magazine * ''Mode'' magazine, a fictional fashion magazine which is ...
called "major modes". There are major modes for many different purposes including editing ordinary text files, the source code of many markup and programming languages, as well as displaying web pages, directory listings and other system info. Each major mode involves an Emacs Lisp program that extends the editor to behave more conveniently for the specified type of text. Major modes typically provide some or all of the following common features: * Syntax highlighting ("font lock"): combinations of fonts and colors, termed "faces," that differentiate between document elements such as keywords and
comment Comment may refer to: * Comment (linguistics) or rheme, that which is said about the topic (theme) of a sentence * Bernard Comment (born 1960), Swiss writer and publisher Computing * Comment (computer programming), explanatory text or informat ...
s. * Automatic indentation to maintain consistent formatting within a file. * The automatic insertion of elements required by the structure of the document, such as spaces, newlines, and parentheses. * Special editing commands, such as commands to jump to the beginning or the end of a function while editing a programming file or commands to validate documents or insert closing tags while working with markup languages such as
XML Extensible Markup Language (XML) is a markup language and file format for storing, transmitting, and reconstructing arbitrary data. It defines a set of rules for encoding documents in a format that is both human-readable and machine-readable. T ...
.


Minor modes

The use of "minor modes" enables further customization. A GNU Emacs editing buffer can use only one major mode at a time, but multiple minor modes can operate simultaneously. These may operate directly on documents, as in the way the major mode for the C programming language defines a separate minor mode for each of its popular indent styles, or they may alter the editing environment. Examples of the latter include a mode that adds the ability to undo changes to the window configuration and one that performs on-the-fly syntax checking. There is also a minor mode that allows multiple major modes to be used in a single file, for convenience when editing a document in which multiple programming languages are embedded.


"Batch mode"

GNU Emacs supports the capability to use it as an interpreter for the Emacs Lisp language without displaying the text editor user interface. In batch mode, user configuration is not loaded and the terminal interrupt characters C-c and C-z will have their usual effect of exiting the program or suspending execution instead of invoking Emacs keybindings. GNU Emacs has
command line options A command-line interpreter or command-line processor uses a command-line interface (CLI) to receive command (computing), commands from a user in the form of lines of text. This provides a means of setting parameters for the environment, invokin ...
to specify either a file to load and execute, or an Emacs Lisp function may be passed in from the command line. Emacs will start up, execute the passed-in file or function, print the results, then exit. The shebang line #!/usr/bin/emacs --script allows the creation of standalone scripts in Emacs Lisp. Batch mode is not an Emacs mode ''per se'', but describes an alternate execution mode for the Emacs program.


Manuals

Apart from the built-in documentation, GNU Emacs has a detailed
manual Manual may refer to: Instructions * User guide * Owner's manual An owner's manual (also called an instruction manual or a user guide) is an instructional book or booklet that is supplied with almost all technologically advanced consumer ...
. An electronic copy of the ''GNU Emacs Manual'', written by Richard Stallman, is bundled with GNU Emacs and can be viewed with the built-in info browser. Two additional manuals, the ''Emacs Lisp Reference Manual'' by Bil Lewis, Richard Stallman, and Dan Laliberte and ''An Introduction to Programming in Emacs Lisp'' by
Robert Chassell Robert "Bob" Chassell was one of the founding directors of the Free Software Foundation (FSF). Life Bob was born on 22 August 1946, in Bennington, VT. He read economics at Peterhouse, Cambridge University. In 1985, he became one of the fou ...
, are included. All three manuals are also published in book form by the Free Software Foundation. The XEmacs manual is similar to the ''GNU Emacs Manual'', from which it forked at the same time that the XEmacs software forked from GNU Emacs.


Internationalization

GNU Emacs has support for many alphabets, scripts, writing systems, and cultural conventions and provides
spell-checking In software, a spell checker (or spelling checker or spell check) is a software feature that checks for misspellings in a text. Spell-checking features are often embedded in software or services, such as a word processor, email client, electron ...
for many languages by calling external programs such as ispell. Version 24 added support for bidirectional text and left-to-right and right-to-left writing direction for languages such as Arabic, Persian and Hebrew. Many character encoding systems, including UTF-8, are supported. GNU Emacs uses UTF-8 for its encoding as of GNU 23, while prior versions used their own encoding internally and performed conversion upon load and save. The internal encoding used by XEmacs is similar to that of GNU Emacs but differs in details. The GNU Emacs user interface originated in English and, with the exception of the beginners' tutorial, has not been translated into any other language. A subsystem called ''
Emacspeak Emacspeak is a free computer application, a speech interface, and an audio desktop (as opposed to a screen reader). It employs Emacs (which is written in C), Emacs Lisp, and Tcl. Developed principally by T. V. Raman (himself blind since chi ...
'' enables visually impaired and blind users to control the editor through audio feedback.


Extensibility

The behavior of GNU Emacs can be modified and extended almost without limit by incorporating Emacs Lisp programs that define new commands, new buffer modes, new keymaps, add command-line options, and so on. Many extensions providing user-facing functionality define a major mode (either for a new file type or to build a non-text-editing user interface); others define only commands or minor modes, or provide functions that enhance another extension. Many extensions are bundled with the GNU Emacs installation; others used to be downloaded as loose files (the
Usenet Usenet () is a worldwide distributed discussion system available on computers. It was developed from the general-purpose Unix-to-Unix Copy (UUCP) dial-up network architecture. Tom Truscott and Jim Ellis conceived the idea in 1979, and it wa ...
newsgroup gnu.emacs.sources was a traditional means of distribution) but there has been a development of managed packages and package download sites since version 24, with a built-in package manager (itself an extension) to download, install, and keep them up to date. The list of available packages is itself displayed in an Emacs buffer set to major mode. Notable examples include: * AUCTeX, tools to edit and process TeX and LaTeX documents * dired, a file manager *
Dissociated press Dissociated press is a parody generator (a computer program that generates nonsensical text). The generated text is based on another text using the Markov chain technique. The name is a play on " Associated Press" and the psychological term diss ...
, a
Racter ''Racter'' is an artificial intelligence computer program that generates English language prose at random. It was published in 1984 by Mindscape. History Racter, short for ''raconteur'', was written by William Chamberlain and Thomas Etter. Th ...
-like text generator * Doctor, an implementation of ELIZA *
Dunnet Dunnet is a village in Caithness, in the Highland area of Scotland. It is within the Parish of Dunnet. Village The village centres on the A836– B855 road junction. The A836 leads towards John o' Groats in the east and toward Thurso and ...
, a text adventure * Emacs Web Wowser (eww), a
web browser A web browser is application software for accessing websites. When a user requests a web page from a particular website, the browser retrieves its files from a web server and then displays the page on the user's screen. Browsers are used o ...
. * Emacs Speaks Statistics (ESS) modes for editing statistical languages like R and SAS * ERC, an IRC client *
Eshell In computing, a command-line interpreter, or command language interpreter, is a blanket term for a certain class of programs designed to read lines of text entered by a user, thus implementing a command-line interface. Operating system shells ...
, a command line shell written in Emacs Lisp. This allows closer integration with the Emacs environment than standard shells such as
bash Bash or BASH may refer to: Arts and entertainment * ''Bash!'' (Rockapella album), 1992 * ''Bash!'' (Dave Bailey album), 1961 * '' Bash: Latter-Day Plays'', a dramatic triptych * ''BASH!'' (role-playing game), a 2005 superhero game * "Bash" ('' ...
or PowerShell, which are also available from within Emacs. For example, in Eshell, Elisp functions are available as shell commands and output from Unix commands can be redirected to an Emacs buffer. * Exwm, an
X window manager An X window manager is a window manager that runs on top of the X Window System, a windowing system mainly used on Unix-like systems. Unlike MacOS Classic, macOS, and Microsoft Windows platforms (excepting Microsoft Windows explorer.exe she ...
allowing X11 apps to be run in an Emacs window. * Gnus, a full-featured news client (newsreader) and email client and early evidence for Zawinski's Law *
Magit Magit is an interface to the Git version control system (a Git Client), implemented as a GNU Emacs package written in Elisp. It is made available through the MELPA package repository, on which it is the most-downloaded non-library package, with ...
, for working with the version control system Git * MULtilingual Enhancement to Emacs ( MULE) allows editing of text in multiple languages in a manner somewhat analogous to Unicode * Org-mode for keeping notes, maintaining various types of lists, planning and measuring projects, and composing documents in many formats (such as PDF,
HTML The HyperText Markup Language or HTML is the standard markup language for documents designed to be displayed in a web browser. It can be assisted by technologies such as Cascading Style Sheets (CSS) and scripting languages such as JavaS ...
, or
OpenDocument The Open Document Format for Office Applications (ODF), also known as OpenDocument, is an open file format for word processing documents, spreadsheets, presentations and graphics and using ZIP-compressed XML files. It was develope ...
formats). There are static site generators using org mode, as well as an extension, Babel, allowing it to be used for literate programming. * Planner, a personal information manager *
rcirc rcirc is an Internet Relay Chat (IRC) client written in Emacs Lisp. It is one of two IRC clients included in GNU Emacs since release 22.1, alongside ERC. Rcirc is "compact, written in a single file of less than 2,500 lines of code". It allocat ...
, an IRC client * Superior Lisp Interaction Mode for Emacs ( SLIME) extends GNU Emacs into a development environment for Common Lisp. With SLIME (written in Emacs Lisp) the GNU Emacs editor communicates with a Common Lisp system (using the SWANK backend) over a special communication protocol and provides such tools as a read–eval–print loop, a data inspector and a debugger. *
Texinfo Texinfo is a typesetting syntax used for generating documentation in both on-line and printed form (creating filetypes as , , , etc., and its own hypertext format, ) with a single source file. It is implemented by a computer program released as ...
(Info), an online help-browser * Zone, a display hack mode incorporating various text effects.


Performance

GNU Emacs often ran noticeably slower than rival text editors on the systems in which it was first implemented, because the loading and interpreting of its Lisp-based code incurs a performance overhead. Modern computers are powerful enough to run GNU Emacs without slowdowns, but versions prior to 19.29 (released in 1995) couldn't edit files larger than 8 MB. The file size limit was raised in successive versions, and
32 bit In computer architecture, 32-bit computing refers to computer systems with a processor, memory, and other major system components that operate on data in 32-bit units. Compared to smaller bit widths, 32-bit computers can perform large calculatio ...
versions after GNU Emacs 23.2 can edit files up to 512 MB in size. Emacs compiled on a 64-bit machine can handle much larger buffers. While primarily written in Emacs Lisp, Emacs can make use of C libraries to improve performance. For example, for parsing XML and JSON, Emacs can use libxml2 and libjansson, respectively, instead of the slower built-in Emacs Lisp libraries. Packages installed by the user can load dynamic modules. Since version 28.1, Emacs can natively compile Emacs Lisp files via libgccjit, as opposed to just byte compiling them.


Platforms

GNU Emacs is one of the most- ported non-trivial computer programs and runs on a wide variety of
operating system An operating system (OS) is system software that manages computer hardware, software resources, and provides common daemon (computing), services for computer programs. Time-sharing operating systems scheduler (computing), schedule tasks for ef ...
s, including DOS, Windows and OpenVMS. Support for some "obsolete platforms was removed in Emacs 23.1", such as VMS and most commercial Unix variants. It is available for most
Unix-like A Unix-like (sometimes referred to as UN*X or *nix) operating system is one that behaves in a manner similar to a Unix system, although not necessarily conforming to or being certified to any version of the Single UNIX Specification. A Unix-li ...
operating systems, such as
Linux Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, whi ...
, the various BSDs, Solaris,
AIX Aix or AIX may refer to: Computing * AIX, a line of IBM computer operating systems *An Alternate Index, for a Virtual Storage Access Method Key Sequenced Data Set * Athens Internet Exchange, a European Internet exchange point Places Belgiu ...
, HP-UX and
macOS macOS (; previously OS X and originally Mac OS X) is a Unix operating system developed and marketed by Apple Inc. since 2001. It is the primary operating system for Apple's Mac computers. Within the market of desktop and la ...
, and is often included with their system installation packages. Native ports of GNU Emacs exist for Android and Nokia's Maemo. GNU Emacs runs both on text terminals and in
graphical user interface The GUI ( "UI" by itself is still usually pronounced . or ), graphical user interface, is a form of user interface that allows users to interact with electronic devices through graphical icons and audio indicator such as primary notation, ins ...
(GUI) environments. On Unix-like operating systems, GNU Emacs can use the X Window System to produce its GUI either directly using Athena widgets or by using a "widget toolkit" such as Motif,
LessTif LessTif is a defunct free software reimplementation or clone of the Motif computer programming toolkit. The project aimed for full source- and binary-code compatibility with Motif. While this was not achieved, many Motif applications could run w ...
, or GTK+. GNU Emacs can also use the graphics systems native to macOS and Windows to provide
menubar A menu bar is a graphical control element which contains drop-down menus. The menu bar's purpose is to supply a common housing for window- or application-specific menus which provide access to such functions as opening files, interacting wit ...
s, toolbars, scrollbars and context menus conforming more closely to each platform's
look and feel In software design, the look and feel of a graphical user interface comprises aspects of its design, including elements such as colors, shapes, layout, and typefaces (the "look"), as well as the behavior of dynamic elements such as buttons, box ...
.


Forks


XEmacs

Lucid Emacs, based on an early version of GNU Emacs 19, was developed beginning in 1991 by
Jamie Zawinski Jamie Zawinski (born November 3, 1968), commonly known as jwz, is an American computer programmer, blogger and impresario. He is best known for his role in the creation of Netscape Navigator, Netscape Mail, Lucid Emacs, Mozilla.org, and XSc ...
and others at Lucid Inc. One of the best-known forks in free software development occurred when the codebases of the two Emacs versions diverged and the separate development teams ceased efforts to merge them back into a single program. After Lucid filed for bankruptcy, Lucid Emacs was renamed XEmacs and remains the second most popular variety of Emacs, after GNU Emacs. XEmacs development has slowed, with the most recent stable version 21.4.22 released in January 2009, while GNU Emacs has implemented many formerly XEmacs-only features. This has led some users to proclaim XEmacs' death.


Other forks of GNU Emacs

Other forks, less known than XEmacs, include: * Meadow a Japanese version for Microsoft Windows * SXEmacs Steve Youngs' fork of XEmacs * Aquamacs a version which focuses on integrating with the Apple Macintosh user interface * Remacs a port of GNU Emacs to the Rust programming language.


Release history

Changes in each Emacs release are listed in a NEWS file distributed with Emacs. Changes brought about by ''downgrading'' to the previous release are listed in an "Antinews" file, often with some snarky commentary on why this might be desirable.


References


Further reading

* * * * *


External links

*
Unofficial Emacs wiki

Emacs - Free Software Directory
{{Authority control Emacs Free file comparison tools Free integrated development environments Free software programmed in C Free software programmed in Lisp Free text editors Emacs Hex editors Linux integrated development environments Linux text editors MacOS text editors OpenVMS text editors Software using the GPL license Text editors Unix text editors Windows text editors