Emacs Statusline
   HOME

TheInfoList



OR:

Emacs , originally named EMACS (an acronym for "Editor MACroS"), is a family of
text editor A text editor is a type of computer program that edits plain text. Such programs are sometimes known as "notepad" software (e.g. Windows Notepad). Text editors are provided with operating systems and software development packages, and can be us ...
s that are characterized by their
extensibility Extensibility is a software engineering and systems design principle that provides for future growth. Extensibility is a measure of the ability to extend a system and the level of effort required to implement the extension. Extensions can be th ...
. The manual for the most widely used variant,
GNU Emacs GNU Emacs is a free software text editor. It was created by GNU Project founder Richard Stallman, based on the Emacs editor developed for Unix operating systems. GNU Emacs has been a central component of the GNU project and a flagship project of ...
, describes it as "the extensible, customizable, self-documenting, real-time display editor". Development of the first Emacs began in the mid-1970s, and work on its direct descendant, GNU Emacs, continues actively; the latest version is 28.2, released in September 2022. Emacs has over 10,000 built-in commands and its
user interface In the industrial design field of human–computer interaction, a user interface (UI) is the space where interactions between humans and machines occur. The goal of this interaction is to allow effective operation and control of the machine f ...
allows the user to combine these commands into macros to automate work. Implementations of Emacs typically feature a
dialect The term dialect (from Latin , , from the Ancient Greek word , 'discourse', from , 'through' and , 'I speak') can refer to either of two distinctly different types of Linguistics, linguistic phenomena: One usage refers to a variety (linguisti ...
of the
Lisp A lisp is a speech impairment in which a person misarticulates sibilants (, , , , , , , ). These misarticulations often result in unclear speech. Types * A frontal lisp occurs when the tongue is placed anterior to the target. Interdental lisping ...
programming language, allowing users and developers to write new commands and applications for the editor. Extensions have been written to, among other things, manage files, remote access,
e-mail Electronic mail (email or e-mail) is a method of exchanging messages ("mail") between people using electronic devices. Email was thus conceived as the electronic ( digital) version of, or counterpart to, mail, at a time when "mail" meant ...
,
outlines Outline or outlining may refer to: * Outline (list), a document summary, in hierarchical list format * Code folding, a method of hiding or collapsing code or text to see content in outline form * Outline drawing, a sketch depicting the outer edge ...
,
multimedia Multimedia is a form of communication that uses a combination of different content forms such as text, audio, images, animations, or video into a single interactive presentation, in contrast to tradition ...
,
git Git () is a distributed version control system: tracking changes in any set of files, usually used for coordinating work among programmers collaboratively developing source code during software development. Its goals include speed, data inte ...
integration, and
RSS RSS ( RDF Site Summary or Really Simple Syndication) is a web feed that allows users and applications to access updates to websites in a standardized, computer-readable format. Subscribing to RSS feeds can allow a user to keep track of many di ...
feeds, as well as implementations of ''
ELIZA ELIZA is an early natural language processing computer program created from 1964 to 1966 at the MIT Artificial Intelligence Laboratory by Joseph Weizenbaum. Created to demonstrate the superficiality of communication between humans and machines, E ...
'', ''
Pong ''Pong'' is a table tennis–themed twitch arcade sports video game, featuring simple two-dimensional graphics, manufactured by Atari and originally released in 1972. It was one of the earliest arcade video games; it was created by Allan Alcor ...
'', '' Conway's Life'', ''
Snake Snakes are elongated, Limbless vertebrate, limbless, carnivore, carnivorous reptiles of the suborder Serpentes . Like all other Squamata, squamates, snakes are ectothermic, amniote vertebrates covered in overlapping Scale (zoology), scales. Ma ...
'', ''
Dunnet Dunnet is a village in Caithness, in the Highland (council area), Highland area of Scotland. It is within the Parish of Dunnet. Village The village centres on the A836 road, A836–B855 road junction. The A836 leads towards John o' Groats ...
'', and ''
Tetris ''Tetris'' (russian: link=no, Тетрис) is a puzzle video game created by Soviet software engineer Alexey Pajitnov in 1984. It has been published by several companies for multiple platforms, most prominently during a dispute over the approp ...
''. The original EMACS was written in 1976 by
David A. Moon David A. Moon is a programmer and computer scientist, known for his work on the Lisp programming language, as co-author of the Emacs text editor, as the inventor of ephemeral garbage collection, and as one of the designers of the Dylan program ...
and
Guy L. Steele Jr. Guy Lewis Steele Jr. (; born October 2, 1954) is an American computer scientist who has played an important role in designing and documenting several computer programming languages and technical standards. Biography Steele was born in Missouri ...
as a set of Editor MACroS for the TECO editor. It was inspired by the ideas of the TECO-macro editors TECMAC and TMACS. The most popular, and most ported, version of Emacs is GNU Emacs, which was created by
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 ...
for the
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 collaborati ...
.
XEmacs XEmacs is a graphical- and console-based text editor which runs on almost any Unix-like operating system as well as Microsoft Windows. XEmacs is a fork, based on a version of GNU Emacs from the late 1980s. Any user can download, use, and modify XE ...
is a variant that branched from GNU Emacs in 1991. GNU Emacs and XEmacs use similar Lisp dialects and are, for the most part, compatible with each other. XEmacs development is inactive. Emacs is, along with vi, one of the two main contenders in the traditional
editor war The editor war is the rivalry between users of the Emacs and vi (now usually Vim, or more recently Neovim) text editors. The rivalry has become an enduring part of hacker culture and the free software community. The Emacs versus vi debate was o ...
s of
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, and ot ...
culture. Emacs is among the oldest
free and open source Free and open-source software (FOSS) is a term used to refer to groups of software consisting of both free software and open-source software where anyone is freely licensed to use, copy, study, and change the software in any way, and the source ...
projects still under development.


History

Emacs development began during the 1970s at the
MIT AI Lab Computer Science and Artificial Intelligence Laboratory (CSAIL) is a research institute at the Massachusetts Institute of Technology (MIT) formed by the 2003 merger of the Laboratory for Computer Science (LCS) and the Artificial Intelligence La ...
, whose
PDP-6 The PDP-6, short for Programmed Data Processor model 6, is a computer developed by Digital Equipment Corporation (DEC) during 1963 and first delivered in the summer of 1964. It was an expansion of DEC's existing 18-bit systems to use a 36-bit da ...
and
PDP-10 Digital Equipment Corporation (DEC)'s PDP-10, later marketed as the DECsystem-10, is a mainframe computer family manufactured beginning in 1966 and discontinued in 1983. 1970s models and beyond were marketed under the DECsystem-10 name, especi ...
computers used the
Incompatible Timesharing System Incompatible Timesharing System (ITS) is a time-sharing operating system developed principally by the MIT Artificial Intelligence Laboratory, with help from Project MAC. The name is the jocular complement of the MIT Compatible Time-Sharing System ...
(ITS)
operating system An operating system (OS) is system software that manages computer hardware, software resources, and provides common services for computer programs. Time-sharing operating systems schedule tasks for efficient use of the system and may also in ...
that featured a default
line editor In computing, a line editor is a text editor in which each editing command applies to one or more complete lines of text designated by the user. Line editors predate screen-based text editors and originated in an era when a computer operator typic ...
known as Tape Editor and Corrector (TECO). Unlike most modern text editors, TECO used separate modes in which the user would either add text, edit existing text, or display the document. One could not place characters directly into a document by typing them into TECO, but would instead enter a character ('i') in the TECO command language telling it to switch to input mode, enter the required characters, during which time the edited text was not displayed on the screen, and finally enter a character () to switch the editor back to command mode. (A similar technique was used to allow overtyping.) This behavior is similar to that of the program ed.
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 ...
visited the
Stanford AI Lab Stanford University has many centers and institutes dedicated to the study of various specific topics. These centers and institutes may be within a department, within a school but across departments, an independent laboratory, institute or center ...
in 1976 and saw the lab's ''E'' editor, written by Fred Wright. He was impressed by the editor's intuitive
WYSIWYG In computing, WYSIWYG ( ), an acronym for What You See Is What You Get, is a system in which editing software allows content to be edited in a form that resembles its appearance when printed or displayed as a finished product, such as a printed d ...
(What You See Is What You Get) behavior, which has since become the default behavior of most modern text editors. He returned to MIT where Carl Mikkelsen, a
hacker A hacker is a person skilled in information technology who uses their technical knowledge to achieve a goal or overcome an obstacle, within a computerized system by non-standard means. Though the term ''hacker'' has become associated in popu ...
at the AI Lab, had added to TECO a combined display/editing mode called ''Control-R'' that allowed the screen display to be updated each time the user entered a keystroke. Stallman reimplemented this mode to run efficiently and then added a macro feature to the TECO display-editing mode that allowed the user to redefine any keystroke to run a TECO program. E had another feature that TECO lacked: random-access editing. TECO was a page-sequential editor that was designed for editing
paper tape Five- and eight-hole punched paper tape Paper tape reader on the Harwell computer with a small piece of five-hole tape connected in a circle – creating a physical program loop Punched tape or perforated paper tape is a form of data storage ...
on the
PDP-1 The PDP-1 (''Programmed Data Processor-1'') is the first computer in Digital Equipment Corporation's PDP series and was first produced in 1959. It is famous for being the computer most important in the creation of hacker culture at Massachusetts ...
at a time when computer memory was generally small due to cost, and it was a feature of TECO that allowed editing on only one page at a time sequentially in the order of the pages in the file. Instead of adopting E's approach of structuring the file for page-random access on disk, Stallman modified TECO to handle large buffers more efficiently and changed its file-management method to read, edit, and write the entire file as a single buffer. Almost all modern editors use this approach. The new version of TECO quickly became popular at the AI Lab and soon accumulated a large collection of custom macros whose names often ended in ''MAC'' or ''MACS'', which stood for ''macro''. Two years later,
Guy Steele Guy Lewis Steele Jr. (; born October 2, 1954) is an American computer scientist who has played an important role in designing and documenting several computer programming languages and technical standards. Biography Steele was born in Missouri ...
took on the project of unifying the diverse macros into a single set. Steele and Stallman's finished implementation included facilities for extending and documenting the new macro set. The resulting system was called EMACS, which stood for ''Editing MACroS'' or, alternatively, ''E with MACroS''. Stallman picked the name Emacs "because was not in use as an abbreviation on ITS at the time." An
apocryphal Apocrypha are works, usually written, of unknown authorship or of doubtful origin. The word ''apocryphal'' (ἀπόκρυφος) was first applied to writings which were kept secret because they were the vehicles of esoteric knowledge considered ...
hacker koan The Jargon File is a glossary and usage dictionary of slang used by computer programmers. The original Jargon File was a collection of terms from technical cultures such as the MIT AI Lab, the Stanford AI Lab (SAIL) and others of the old ARPANET A ...
alleges that the program was named after '' Emack & Bolio's'', a popular
Boston Boston (), officially the City of Boston, is the state capital and most populous city of the Commonwealth of Massachusetts, as well as the cultural and financial center of the New England region of the United States. It is the 24th- mo ...
ice cream store. The first operational EMACS system existed in late 1976. Stallman saw a problem in too much customization and ''de facto'' forking and set certain conditions for usage. He later wrote: The original Emacs, like TECO, ran only on the PDP-10 running ITS. Its behavior was sufficiently different from that of TECO that it could be considered a text editor in its own right, and it quickly became the standard editing program on ITS. Mike McMahon
ported In software engineering, porting is the process of adapting software for the purpose of achieving some form of execution in a computing environment that is different from the one that a given program (meant for such execution) was originally desi ...
Emacs from ITS to the TENEX and
TOPS-20 The TOPS-20 operating system by Digital Equipment Corporation (DEC) is a proprietary OS used on some of DEC's 36-bit mainframe computers. The Hardware Reference Manual was described as for "DECsystem-10/DECSYSTEM-20 Processor" (meaning the DEC PDP- ...
operating systems. Other contributors to early versions of Emacs include
Kent Pitman Kent M. Pitman (KMP) is a programmer who has been involved for many years in the design, implementation, and use of systems based on the programming languages Lisp and Scheme. , he has been President of HyperMeta, Inc. Pitman was chair of the ad h ...
, Earl Killian, and
Eugene Ciccarelli Eugene may refer to: People and fictional characters * Eugene (given name), including a list of people and fictional characters with the given name * Eugene (actress) (born 1981), Kim Yoo-jin, South Korean actress and former member of the sin ...
. By 1979, Emacs was the main editor used in MIT's AI lab and its Laboratory for Computer Science.


Implementations


Early implementations

In the following years, programmers wrote a variety of Emacs-like editors for other computer systems. These included
EINE EINE and ZWEI are two discontinued Emacs-like text editors developed by Daniel Weinreb and Mike McMahon for Lisp machines in the 1970s and 1980s. History EINE was a text editor developed in the late 1970s. In terms of features, its goal was to ...
(''EINE Is Not EMACS'') and
ZWEI Zwei (German: "two") may refer to: * Zwei (band), a Japanese duo band * ZWEI, a text editor * '' Zwei: The Arges Adventure'', 2001 video game * '' Zwei: The Ilvard Insurrection'', 2008 video game * Zwei, a team in ''Infinite Ryvius'' anime serie ...
(''ZWEI Was EINE Initially''), which were written for the
Lisp machine Lisp machines are general-purpose computers designed to efficiently run Lisp as their main software and programming language, usually via hardware support. They are an example of a high-level language computer architecture, and in a sense, the ...
by Mike McMahon and
Daniel Weinreb Daniel L. Weinreb (January 6, 1959 – September 7, 2012) was an American computer scientist and programmer, with significant work in the environment of the programming language Lisp. Early life Weinreb was born on January 6, 1959, in Brookl ...
, and Sine (''Sine Is Not Eine''), which was written by Owen Theodore Anderson. Weinreb's
EINE EINE and ZWEI are two discontinued Emacs-like text editors developed by Daniel Weinreb and Mike McMahon for Lisp machines in the 1970s and 1980s. History EINE was a text editor developed in the late 1970s. In terms of features, its goal was to ...
was the first Emacs written in Lisp. In 1978,
Bernard Greenberg Bernard S. Greenberg is a programmer and computer scientist, known for his work on Multics and the Lisp machine. Projects In 1978, Greenberg implemented Multics EmacsBernard S. Greenberg. ''Multics Emacs: The History, Design and Implementati ...
wrote
Multics Emacs Multics Emacs is an early implementation of the Emacs text editor. It was written in Maclisp by Bernard Greenberg at Honeywell's Cambridge Information Systems Lab in 1978, as a successor to the original 1976 TECO implementation of Emacs and a ...
almost entirely in Multics Lisp at
Honeywell Honeywell International Inc. is an American publicly traded, multinational conglomerate corporation headquartered in Charlotte, North Carolina. It primarily operates in four areas of business: aerospace, building technologies, performance ma ...
's Cambridge Information Systems Lab. Multics Emacs was later maintained by
Richard Soley Richard Mark Soley (born c. 1960, in Baltimore, Maryland) is an American computer scientist and businessman, and chairman and CEO of the Object Management Group, Inc. (OMG). He is also executive director of the Cloud Standards Customer Council, ...
, who went on to develop the NILE Emacs-like editor for the NIL Project, and by Barry Margolin. Many versions of Emacs, including GNU Emacs, would later adopt Lisp as an extension language.
James Gosling James Gosling (born May 19, 1955) is a Canadian computer scientist, best known as the founder and lead designer behind the Java programming language. Gosling was elected a member of the National Academy of Engineering in 2004 for the conceptio ...
, who would later invent
NeWS News is information about current events. This may be provided through many different Media (communication), media: word of mouth, printing, Mail, postal systems, broadcasting, Telecommunications, electronic communication, or through the tes ...
and the
Java programming language Java is a high-level, class-based, object-oriented programming language that is designed to have as few implementation dependencies as possible. It is a general-purpose programming language intended to let programmers ''write once, run anywh ...
, wrote
Gosling Emacs Gosling Emacs (often shortened to "Gosmacs" or "gmacs") is a discontinued Emacs implementation written in 1981 by James Gosling in C (programming language), C. Gosling initially allowed Gosling Emacs to be redistributed with no formal restriction ...
in 1981. The first Emacs-like editor to run on
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, and ot ...
, Gosling Emacs was written in C and used
Mocklisp Gosling Emacs (often shortened to "Gosmacs" or "gmacs") is a discontinued Emacs implementation written in 1981 by James Gosling in C. Gosling initially allowed Gosling Emacs to be redistributed with no formal restrictions, as required by the "Em ...
, a language with Lisp-like syntax, as an extension language. Early Ads for
Computer Corporation of America Computer Corporation of America (CCA) was a computer software and database systems company founded in 1965. It was best known for its Model 204 (M204) database system for IBM and compatible mainframes. It was acquired by Rocket Software in 2010. ...
's ''CCA EMACS'' (Steve Zimmerman). appeared in 1984. 1985 comparisons to GNU Emacs, when it came out, mentioned free vs. $2,400.


GNU Emacs

Richard Stallman began work on GNU Emacs in 1984 to produce a
free software Free software or libre software is computer software distributed under terms that allow users to run the software for any purpose as well as to study, change, and distribute it and any adapted versions. Free software is a matter of liberty, no ...
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 Emacs Lisp is a dialect of the Lisp programming language used as a scripting language by Emacs (a text editor family most commonly associated with GNU Emacs and XEmacs). It is used for implementing most of the editing functionality built into Ema ...
, 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 numbering skipped from ''1'' to ''13''. In September 2014, it was announced on the GNU emacs-devel mailing list that GNU Emacs would adopt a
rapid release Rapids are sections of a river where the river bed has a relatively steep gradient, causing an increase in water velocity and turbulence. Rapids are hydrological features between a ''run'' (a smoothly flowing part of a stream) and a '' cascade' ...
strategy and version numbers would increment more quickly in the future. GNU Emacs 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 Markus Hess, a German citizen, is best known for his endeavours as a hacker in the late 1980s. Alongside fellow hackers Dirk Brzezinski and Peter Carl, Hess hacked into networks of military and industrial computers based in the United States, Euro ...
exploited a security flaw in GNU Emacs' email subsystem in his 1986 cracking spree in which he gained
superuser In computing, the superuser is a special user account used for system administration. Depending on the operating system (OS), the actual name of this account might be root, administrator, admin or supervisor. In some cases, the actual name of t ...
access to Unix computers. Most of GNU Emacs functionality is implemented through a
scripting language A scripting language or script language is a programming language that is used to manipulate, customize, and automate the facilities of an existing system. Scripting languages are usually interpreted at runtime rather than compiled. A scripting ...
called
Emacs Lisp Emacs Lisp is a dialect of the Lisp programming language used as a scripting language by Emacs (a text editor family most commonly associated with GNU Emacs and XEmacs). It is used for implementing most of the editing functionality built into Ema ...
. Because about 70% of GNU Emacs is written in the Emacs Lisp extension language, one only needs to port the C core which implements the Emacs Lisp interpreter. This makes porting Emacs to a new platform considerably less difficult than porting an equivalent project consisting of native code only. GNU Emacs development was relatively closed until 1999 and was used as an example of the ''Cathedral'' development style in ''
The Cathedral and the Bazaar ''The Cathedral and the Bazaar: Musings on Linux and Open Source by an Accidental Revolutionary'' (abbreviated ''CatB'') is an essay, and later a book, by Eric S. Raymond on software engineering methods, based on his observations of the Linux k ...
''. The project has since adopted a public development mailing list and anonymous
CVS CVS may refer to: Organizations * CVS Health, a US pharmacy chain ** CVS Pharmacy ** CVS Caremark, a prescription benefit management subsidiary * Council for Voluntary Service, England * Cable Video Store, former US pay-per-view service * CVS F ...
access. Development took place in a single CVS trunk until 2008 and was then switched to the Bazaar DVCS. On November 11, 2014, development was moved to
Git Git () is a distributed version control system: tracking changes in any set of files, usually used for coordinating work among programmers collaboratively developing source code during software development. Its goals include speed, data inte ...
. 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 were maintainers from 2008 to 2015. John Wiegley was named maintainer in 2015 after a meeting with Stallman at MIT. As of early 2014, GNU Emacs has had 579 individual
committers A committer is an individual who is permitted to modify the source code of a software project, that will be used in the project's official releases. To contribute source code to most large software projects, one must make modifications and then " ...
throughout its history.


XEmacs

Lucid Emacs, based on an early alpha 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 XScree ...
and others at
Lucid Inc. Lucid Incorporated was a Menlo Park, California, Menlo Park, California-based computer software development company. Founded by Richard P. Gabriel in 1984, it went bankrupt in 1994. History The first CEO was Tony Slocum, formerly of IntelliCorp ...
One of the best-known early forks in
free software Free software or libre software is computer software distributed under terms that allow users to run the software for any purpose as well as to study, change, and distribute it and any adapted versions. Free software is a matter of liberty, no ...
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. Lucid Emacs has since been renamed
XEmacs XEmacs is a graphical- and console-based text editor which runs on almost any Unix-like operating system as well as Microsoft Windows. XEmacs is a fork, based on a version of GNU Emacs from the late 1980s. Any user can download, use, and modify XE ...
. Its development is currently inactive, with the most recent stable version 21.4.22 released in January 2009 (while a beta was released in 2013), while GNU Emacs has implemented many formerly XEmacs-only features.


Other forks of GNU Emacs

Other notable forks include: * Aquamacs – based on GNU Emacs (Aquamacs 3.2 is based on GNU Emacs version 24 and Aquamacs 3.3 is based on GNU Emacs version 25) which focuses on integrating with the Apple Macintosh user interface *
Meadow A meadow ( ) is an open habitat, or field, vegetated by grasses, herbs, and other non-woody plants. Trees or shrubs may sparsely populate meadows, as long as these areas maintain an open character. Meadows may be naturally occurring or artifi ...
– a Japanese version for Microsoft Windows *
SXEmacs XEmacs is a graphical- and console-based text editor which runs on almost any Unix-like operating system as well as Microsoft Windows. XEmacs is a fork, based on a version of GNU Emacs from the late 1980s. Any user can download, use, and modify XE ...
– Steve Youngs' fork of XEmacs


Various Emacs editors

In the past, projects aimed at producing small versions of Emacs proliferated. GNU Emacs was initially targeted at computers with a 32-bit flat address space and at least 1 
MiB The byte is a unit of digital information that most commonly consists of eight bits. Historically, the byte was the number of bits used to encode a single character of text in a computer and for this reason it is the smallest addressable unit ...
of RAM. Such computers were high end
workstation A workstation is a special computer designed for technical or scientific applications. Intended primarily to be used by a single user, they are commonly connected to a local area network and run multi-user operating systems. The term ''workstat ...
s and
minicomputer A minicomputer, or colloquially mini, is a class of smaller general purpose computers that developed in the mid-1960s and sold at a much lower price than mainframe and mid-size computers from IBM and its direct competitors. In a 1970 survey, ...
s in the 1980s, and this left a need for smaller reimplementations that would run on common
personal computer A personal computer (PC) is a multi-purpose microcomputer whose size, capabilities, and price make it feasible for individual use. Personal computers are intended to be operated directly by an end user, rather than by a computer expert or tec ...
hardware. Today's computers have more than enough power and capacity to eliminate these restrictions, but small clones have more recently been designed to fit on software installation disks or for use on less capable hardware. Other projects aim to implement Emacs in a different dialect of Lisp or a different programming language altogether. Although not all are still actively maintained, these clones include: *
MicroEMACS MicroEMACS is a small, portable Emacs-like text editor originally written by Dave Conroy in 1985, and further developed by Daniel M. Lawrence (1958–2010) and was maintained by him. MicroEMACS has been ported to many operating systems, including ...
, which was originally written by Dave Conroy and further developed by Daniel Lawrence and which exists in many variations. * mg, originally called MicroGNUEmacs and, later, mg2a, a public-domain offshoot of MicroEMACS intended to more closely resemble GNU Emacs. Now installed by default on
OpenBSD OpenBSD is a security-focused, free and open-source, Unix-like operating system based on the Berkeley Software Distribution (BSD). Theo de Raadt created OpenBSD in 1995 by forking NetBSD 1.0. According to the website, the OpenBSD project em ...
. *
JOVE Jupiter ( la, Iūpiter or , from Proto-Italic "day, sky" + "father", thus " sky father" Greek: Δίας or Ζεύς), also known as Jove ( gen. ''Iovis'' ), is the god of the sky and thunder, and king of the gods in ancient Roman religio ...
(Jonathan's Own Version of Emacs), Jonathan Payne's non-programmable Emacs implementation for
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 ...
systems. *
MINCE Mince may refer to: * MINCE, an early text editor for CP/M microcomputers * Mincing, a food preparation technique in which food ingredients are finely divided * Ground meat, also known as ''mince'', meat that has been minced ** Ground beef, also ...
(MINCE Is Not Complete Emacs), a version for CP/M and later DOS, from
Mark of the Unicorn Mark of the Unicorn (MOTU) is a music-related computer software and hardware supplier. It is based in Cambridge, Massachusetts and has created music software since 1984. In the mid-1980s, Mark of the Unicorn sold productivity software and severa ...
. MINCE evolved into Final Word, which eventually became the Borland
Sprint Sprint may refer to: Aerospace *Spring WS202 Sprint, a Canadian aircraft design *Sprint (missile), an anti-ballistic missile Automotive and motorcycle *Alfa Romeo Sprint, automobile produced by Alfa Romeo between 1976 and 1989 *Chevrolet Sprint, ...
word processor. *
Perfect Writer Perfect Writer is a word processor computer program published by Perfect Software for CP/M, subsequently rewritten and released as Perfect II by Thorn EMI Computer Software for IBM PC compatible computers. It was written in C and famous for its st ...
, a
CP/M CP/M, originally standing for Control Program/Monitor and later Control Program for Microcomputers, is a mass-market operating system created in 1974 for Intel 8080/ 85-based microcomputers by Gary Kildall of Digital Research, Inc. Initial ...
implementation derived from MINCE that was included circa 1982 as the default word processor with the very earliest releases of the Kaypro II and Kaypro IV. It was later provided with the Kaypro 10 as an alternative to
WordStar WordStar is a word processor application for microcomputers. It was published by MicroPro International and originally written for the CP/M-80 operating system, and later written also for MS-DOS and other 16-bit PC OSes. Rob Barnaby was the sol ...
. * Freemacs, a
DOS DOS is shorthand for the MS-DOS and IBM PC DOS family of operating systems. DOS may also refer to: Computing * Data over signalling (DoS), multiplexing data onto a signalling channel * Denial-of-service attack (DoS), an attack on a communicatio ...
version that uses an extension language based on text macro expansion and fits within the original 64
KiB The byte is a unit of digital information that most commonly consists of eight bits. Historically, the byte was the number of bits used to encode a single character of text in a computer and for this reason it is the smallest addressable unit ...
flat memory limit. *
Zile Zile, anciently known as Zela ( el, Ζῆλα) (still as Latin Catholic titular see), is a city and a district of Tokat Province, Turkey. Zile lies to the south of Amasya and the west of Tokat in north-central Turkey. The city has a long history, ...
. Zile was a recursive acronym for ''Zile Is Lossy Emacs'', but the project was rewritten in
Lua Lua or LUA may refer to: Science and technology * Lua (programming language) * Latvia University of Agriculture * Last universal ancestor, in evolution Ethnicity and language * Lua people, of Laos * Lawa people, of Thailand sometimes referred t ...
and now gives the expansion as Zile Implements Lua Editors. The new Zile still includes an implementation of Emacs in Lua called Zemacs. There is also an implementation of vi called Zi. *
Zmacs Zmacs is one of the many variants of the Emacs text editor. Zmacs was written for the MIT Lisp machine and runs on its descendants (Symbolics Genera, LMI Lambda, TI Explorer). Zmacs is written in Lisp Machine Lisp (called ZetaLisp on Symbolic ...
, for the MIT
Lisp Machine Lisp machines are general-purpose computers designed to efficiently run Lisp as their main software and programming language, usually via hardware support. They are an example of a high-level language computer architecture, and in a sense, the ...
and its descendants, implemented in
ZetaLisp Lisp Machine Lisp is a programming language, a dialect of the language Lisp. A direct descendant of Maclisp, it was initially developed in the mid to late 1970s as the system programming language for the Massachusetts Institute of Technology ( ...
. * Climacs, a Zmacs-influenced variant implemented in
Common Lisp Common Lisp (CL) is a dialect of the Lisp programming language, published in ANSI standard document ''ANSI INCITS 226-1994 (S20018)'' (formerly ''X3.226-1994 (R1999)''). The Common Lisp HyperSpec, a hyperlinked HTML version, has been derived fro ...
. *
Epsilon Epsilon (, ; uppercase , lowercase or lunate ; el, έψιλον) is the fifth letter of the Greek alphabet, corresponding phonetically to a mid front unrounded vowel or . In the system of Greek numerals it also has the value five. It was der ...
, an Emacs clone by Lugaru Software. Versions for DOS, Windows, Linux, FreeBSD, Mac OS X and O/S 2 are bundled in the release. It uses a non-Lisp extension language with C syntax and used a very early concurrent command shell buffer implementation under the single-tasking MS-DOS. * PceEmacs is the Emacs-based editor for
SWI-Prolog SWI-Prolog is a free implementation of the programming language Prolog, commonly used for teaching and semantic web applications. It has a rich set of features, libraries for constraint logic programming, multithreading, unit testing, GUI, inte ...
. * Amacs, an Apple II ProDOS version of Emacs implemented in 6502 assembly by Brian Fox. * Hemlock, originally written in
Spice Lisp Spice Lisp (Scientific Personal Integrated Computing Environment) is a programming language, a dialect of Lisp. Its implementation, originally written by Carnegie Mellon University's (CMU) Spice Lisp Group, targeted the microcode of the 16-bit w ...
, then
Common Lisp Common Lisp (CL) is a dialect of the Lisp programming language, published in ANSI standard document ''ANSI INCITS 226-1994 (S20018)'' (formerly ''X3.226-1994 (R1999)''). The Common Lisp HyperSpec, a hyperlinked HTML version, has been derived fro ...
. A part of
CMU Common Lisp CMUCL is a free Common Lisp implementation, originally developed at Carnegie Mellon University. CMUCL runs on most Unix-like platforms, including Linux and BSD; there is an experimental Windows port as well. Steel Bank Common Lisp is derive ...
. Influenced by
Zmacs Zmacs is one of the many variants of the Emacs text editor. Zmacs was written for the MIT Lisp machine and runs on its descendants (Symbolics Genera, LMI Lambda, TI Explorer). Zmacs is written in Lisp Machine Lisp (called ZetaLisp on Symbolic ...
. Later forked by Lucid Common Lisp (as Helix),