Emacs

from Wikipedia, the free encyclopedia

Emacs [ ˈiːmæks ] is a family of text editors . The first Emacs implementation was developed by Richard Stallman (along with Guy L. Steele, Jr. and others). The GNU Emacs is particularly popular today and can be equipped with any number of extensions thanks to its programming interface in the Emacs Lisp programming language . But there are also a variety of other editors that belong to the Emacs family.

history

This keyboard with meta key served as a template

Emacs was created at MIT in 1976, initially as a collection of macros for the TECO editor . The name is the abbreviation of "Editor MACroS".

In 1978/79, Bernard Greenberg ported the editor to the mainframe operating system Multics . He used the Maclisp programming language for this .

In 1981 James Gosling wrote the first Emacs for Unix systems in C. The extension language Mocklisp is similar to Lisp, but does not know any structured data types. Gosling did not initially restrict the distribution, but later sold the code to UniPress, which sold this version as UniPress Emacs. Gosling Emacs is characterized by a highly efficient code for text output; Stallman used parts of the gosling code in GNU Emacs, which later led to a controversy with UniPress.

In 1984 Richard Stallman began working on a new implementation of Emacs, GNU Emacs, which would become the first program of the then emerging GNU Project . The license of the program at the beginning of the development was the GNU Emacs General Public License . It was the first copyleft license and the basis for the later developed GNU General Public License (GPL). Most GNU Emacs is programmed in Emacs Lisp , a separate dialect of the Lisp programming language. This Lisp version of Emacs is not based on Greenberg's Multics-Emacs written in Maclisp, the first Lisp version, and also uses completely different data structures. The core is an interpreter written in C for Emacs Lisp. Gerd Möllmann supervised and published version 21 (21.1 and 21.2) as the main programmer. Version 23 was completed in 2009.

As Clifford Stoll discovered, a program error in Emacs in 1986 enabled Markus Hess , a hacker spying for the KGB , to break into the Lawrence Berkeley National Laboratory .

variants

A few variants of Emacs have been developed, the most widely used is GNU Emacs . Also known is MicroEmacs , which was shipped with AmigaOS among others .

Aquamacs by David Reitter is an Emacs variant for macOS that has been adapted to the Human Interface Guidelines and which - like the former Carbon Emacs by Seiji Zenitani - contains many additional packages already preinstalled. Aquamacs can also be used via the classic Emacs user interface.

A particularly small, but still quite powerful version is Zile . The name is a recursive acronym and means Zile is lossy Emacs .

GNU Emacs

GNU Emacs

Emacs logo
Basic data

developer Richard Stallman
Publishing year 1984
Current  version 27.1
( August 10, 2020 )
operating system Unix , GNU / Linux , Windows , macOS etc. a.
programming language C , Emacs Lisp
category Text editor , integrated development environment
License GNU General Public License
German speaking No
www.gnu.org/software/emacs/

GNU Emacs is available as free software under the GNU General Public License and runs on most of today's common operating systems ( Unix , GNU / Linux , macOS and Windows ).

particularities

GNU Emacs offers a whole range of operating modes (English modes ) that are helpful when creating source text for various programming and markup languages . So you can use Emacs e.g. Use it as an HTML editor, for example, which also does syntax checks.

Syntax highlighting is supported in most of these modes. The text is colored due to the syntax of the edited text ( LaTeX , HTML , Perl , Java and others), which makes orientation easier for the user. The modes usually offer much more than a syntax highlighting: translation processes, syntax checkers, debuggers and the like can be called from Emacs.

In the basic configuration, GNU Emacs already has a calendar , several news and mail readers with POP and IMAP support, a built-in shell , games, an FTP client and a web browser . There are also numerous tools that can be integrated into Emacs, including IRC clients , IM clients , address books, audio players and even web servers .

GNU Emacs enables the editing of websites as Wikitext via Wiki Mode .

For fun and to demonstrate what is possible with Emacs Lisp , GNU Emacs contains ELIZA, a program for entertaining a computer-generated “ psychological psychotherapist ” (called with “Mx doctor”; “Mx” is, for example, “ESC x "or" Alt-x "). The program converts statements made by the user into questions, encourages him to tell more, and suggests life problems of the most general kind. Another nostalgic addition is a text adventure ("Mx dunnet").

You can also think of GNU Emacs as an environment for programming special editors; there is a po -mode that can be used to create translations.

Significant extensions

  • AUCT E X : Contains many functions thatfacilitatethe creation of TeX and LaTeX documents.
  • CEDET : A collection of tools to make Emacs a larger development environment . Contains among other things project management, parser for some programming languages, autocompletion and a UML editor. In addition, CEDET contains a CLOS- like implementation of object-oriented programming for elisp. Since September 2009, CEDET has been part of the development version of GNU Emacs.
  • Dired : is a file manager in Emacs.
  • Emacspeak : A screen reader for Emacs developed by TV Raman
  • emacs-w3m : is a web browser for Emacs. It is written in Emacs Lisp and uses w3m . The extension runs both under the graphical user interface and in the text console.
  • ERC : An IRC client.
  • EWW (Emacs Web Wowser): An integrated web browser.
  • Gnus : A fully configurable mail and news client.
  • org-mode : A mode for structuring text that is recorded in plain text files. The mode enables the writing of documents, websites, to-do lists and can also be used as an organizer and for converting between different text formats. From version 22 org-mode is officially included in GNU Emacs.
  • Shimbun : complements emacs-w3m. With Shimbun, articles can be extracted from web newspapers and finally displayed in an Emacs. The functions of a news reader are used to display the articles . With Shimbun you get a similar function as with RSS . However, unlike RSS, it does not need to be actively supported by the site operator. For every website that is to be processed with Shimbun, a Shimbun module in Emacs Lisp must be available to the client. An advantage of this approach is that the Shimbun module can be programmed to e.g. B. Cut out advertising . The supplied modules are mainly for Japanese web sites, as well as modules for Telepolis and the Heise News Ticker , Wikipedia , The Mirror , the time , the world and laut.de exist.
  • SLIME : is a development environment for Common Lisp .
  • Package Manager package.el for the user-friendly selection and installation of expansion packages. This has been a standard part of Emacs since Emacs 24.

humor

Richard Stallman jokingly elevated the editor Emacs to a fun religion , the "Church of Emacs", and describes himself as St. I GNU cius. As a creed you have to say three times "There is no system but GNU, and Linux is one of its kernels." There is also the newsgroup alt.religion.emacs , which is dedicated to this parody. In response , the supporters of the competition editor vi founded the Cult of Vi .

Users have derived further, joking interpretations from Emacs' peculiarities: E ight M egabytes A nd C onstantly S wapping ( eight megabytes in size and swapping constantly ) targets the large memory requirements of the time, as does E macs M akes A ny C omputer S low ( Emacs makes every computer slow ). E scape- M eta A LT C ontrol- S hift is an allusion to the key combinations that most functions are to be triggered by Emacs.

Alluding to the wide range of functions Thomer M. Gil wrote: "Emacs is a great operating system - it lacks a good editor, though." (German: Emacs is a great operating system - but lacks a good editor).

Quotes

"Emacs started out as a text editor, which became a way of life for many users because they could do all their work on a computer while never exiting from Emacs, and ultimately it became a religion as well."

"Emacs started out as a text editor that became a way of life for many users because you could do all the work with it without leaving Emacs, and ultimately became a religion."

- Richard Stallman

“You should always keep one principle in mind: Emacs does many things well, but it isn't important for that reason. Emacs is important because of the integration of different things you need to do. "

“Always be aware of this: Emacs can do a lot of things very well, but that's not what matters. Emacs is important because it brings different tasks under one roof. "

- Debra Cameron, James Elliott, Marc Loy, Eric Raymond, Bill Rosenblatt

literature

  • Bob Glickstein: Writing GNU Emacs Extensions . O'Reilly, Cambridge / Cologne / Paris / Sebastopol / Tokyo 1997, ISBN 1-56592-261-1 .
  • Debra Cameron, Martina Wobst: GNU Emacs in a nutshell . 1st edition. O'Reilly, Cologne / Beijing 2000, ISBN 3-89721-211-0 .
  • Debra Cameron, James Elliot, Marc Loy, Eric Raymond, Bill Rosenblatt: Learning GNU Emacs . O'Reilly, Beijing / Cambridge / Farnham / Cologne / Paris / Sebastopol / Taipei / Tokyo 2005, ISBN 0-596-00648-9 .

Web links

Commons : Emacs  - collection of images, videos and audio files

Individual evidence

  1. List of Emacs implementations
  2. Multics Emacs History
  3. ^ The History of the GPL
  4. ^ Clifford Stoll: Kuckucksei. The hunt for the German hackers who cracked the Pentagon . Fischer Verlag, Frankfurt / M. 2001, ISBN 3-596-13984-8
  5. Emacs Timeline (English)
  6. EmacsWiki: Emacs Implementations. Retrieved August 18, 2020 .
  7. EmacsWiki: Aquamacs Emacs Compatibility Settings. In: www.emacswiki.org. Retrieved October 24, 2015 .
  8. Nicolas Petton: Emacs 27.1 released . August 11, 2020 (accessed August 11, 2020).
  9. cedet.sourceforge.net
  10. Chong Yidong: CEDET merge. Retrieved on October 23, 2009 : “ I have merged most of the CEDET branch into the trunk. "
  11. Emacspeak
  12. orgmode.org
  13. Pre-testing Emacs 22. Accessed October 23, 2009 .
  14. Richard Stallman as a Prophet (English)
  15. ^ VI Lovers Home Page , accessed March 2, 2010.
  16. ^ The Free Software Movement and the Future of Freedom; March 9th 2006
  17. Debra Cameron, James Elliott, Marc Loy, Eric Raymond, Bill Rosenblatt: Learning GNU Emacs. P. 1 ( Google Books )