CINXE.COM

Emacs - Wikipedia

<!DOCTYPE html> <html class="client-nojs vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-feature-night-mode-enabled skin-theme-clientpref-day vector-sticky-header-enabled vector-toc-available" lang="en" dir="ltr"> <head> <meta charset="UTF-8"> <title>Emacs - Wikipedia</title> <script>(function(){var className="client-js vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-feature-night-mode-enabled skin-theme-clientpref-day vector-sticky-header-enabled vector-toc-available";var cookie=document.cookie.match(/(?:^|; )enwikimwclientpreferences=([^;]+)/);if(cookie){cookie[1].split('%2C').forEach(function(pref){className=className.replace(new RegExp('(^| )'+pref.replace(/-clientpref-\w+$|[^\w-]+/g,'')+'-clientpref-\\w+( |$)'),'$1'+pref+'$2');});}document.documentElement.className=className;}());RLCONF={"wgBreakFrames":false,"wgSeparatorTransformTable":["",""],"wgDigitTransformTable":["",""],"wgDefaultDateFormat":"dmy", "wgMonthNames":["","January","February","March","April","May","June","July","August","September","October","November","December"],"wgRequestId":"bc3043d9-e246-49fa-a729-807c596466fc","wgCanonicalNamespace":"","wgCanonicalSpecialPageName":false,"wgNamespaceNumber":0,"wgPageName":"Emacs","wgTitle":"Emacs","wgCurRevisionId":1252643809,"wgRevisionId":1252643809,"wgArticleId":18933234,"wgIsArticle":true,"wgIsRedirect":false,"wgAction":"view","wgUserName":null,"wgUserGroups":["*"],"wgCategories":["Pages using the Phonos extension","CS1: unfit URL","Webarchive template wayback links","Articles with short description","Short description matches Wikidata","Pages including recorded pronunciations","All articles with unsourced statements","Articles with unsourced statements from January 2011","Articles with unsourced statements from November 2022","All articles lacking reliable references","Articles lacking reliable references from January 2021", "Articles lacking reliable references from July 2019","Commons category link from Wikidata","Official website not in Wikidata","Emacs","1970s in computing","1976 software","Free file comparison tools","Free integrated development environments","Free software programmed in C","Free software programmed in Lisp","Free text editors","Hex editors","Linux integrated development environments","Linux text editors","MacOS text editors","OpenVMS text editors","Unix text editors","Windows text editors"],"wgPageViewLanguage":"en","wgPageContentLanguage":"en","wgPageContentModel":"wikitext","wgRelevantPageName":"Emacs","wgRelevantArticleId":18933234,"wgIsProbablyEditable":true,"wgRelevantPageIsProbablyEditable":true,"wgRestrictionEdit":[],"wgRestrictionMove":[],"wgNoticeProject":"wikipedia","wgCiteReferencePreviewsActive":false,"wgFlaggedRevsParams":{"tags":{"status":{"levels":1}}},"wgMediaViewerOnClick":true,"wgMediaViewerEnabledByDefault":true,"wgPopupsFlags":0,"wgVisualEditor":{ "pageLanguageCode":"en","pageLanguageDir":"ltr","pageVariantFallbacks":"en"},"wgMFDisplayWikibaseDescriptions":{"search":true,"watchlist":true,"tagline":false,"nearby":true},"wgWMESchemaEditAttemptStepOversample":false,"wgWMEPageLength":50000,"wgEditSubmitButtonLabelPublish":true,"wgULSPosition":"interlanguage","wgULSisCompactLinksEnabled":false,"wgVector2022LanguageInHeader":true,"wgULSisLanguageSelectorEmpty":false,"wgWikibaseItemId":"Q189722","wgCheckUserClientHintsHeadersJsApi":["brands","architecture","bitness","fullVersionList","mobile","model","platform","platformVersion"],"GEHomepageSuggestedEditsEnableTopics":true,"wgGETopicsMatchModeEnabled":false,"wgGEStructuredTaskRejectionReasonTextInputEnabled":false,"wgGELevelingUpEnabledForUser":false};RLSTATE={"ext.globalCssJs.user.styles":"ready","site.styles":"ready","user.styles":"ready","ext.globalCssJs.user":"ready","user":"ready","user.options":"loading","ext.phonos.styles":"ready","ext.phonos.icons":"ready","ext.cite.styles": "ready","ext.pygments":"ready","skins.vector.search.codex.styles":"ready","skins.vector.styles":"ready","skins.vector.icons":"ready","jquery.makeCollapsible.styles":"ready","ext.wikimediamessages.styles":"ready","ext.visualEditor.desktopArticleTarget.noscript":"ready","ext.uls.interlanguage":"ready","wikibase.client.init":"ready","ext.wikimediaBadges":"ready"};RLPAGEMODULES=["ext.phonos.init","ext.cite.ux-enhancements","ext.pygments.view","mediawiki.page.media","site","mediawiki.page.ready","jquery.makeCollapsible","mediawiki.toc","skins.vector.js","ext.centralNotice.geoIP","ext.centralNotice.startUp","ext.gadget.ReferenceTooltips","ext.gadget.switcher","ext.urlShortener.toolbar","ext.centralauth.centralautologin","mmv.bootstrap","ext.popups","ext.visualEditor.desktopArticleTarget.init","ext.visualEditor.targetLoader","ext.echo.centralauth","ext.eventLogging","ext.wikimediaEvents","ext.navigationTiming","ext.uls.interface","ext.cx.eventlogging.campaigns","ext.cx.uls.quick.actions", "wikibase.client.vector-2022","ext.checkUser.clientHints","ext.growthExperiments.SuggestedEditSession"];</script> <script>(RLQ=window.RLQ||[]).push(function(){mw.loader.impl(function(){return["user.options@12s5i",function($,jQuery,require,module){mw.user.tokens.set({"patrolToken":"+\\","watchToken":"+\\","csrfToken":"+\\"}); }];});});</script> <link rel="stylesheet" href="/w/load.php?lang=en&amp;modules=ext.cite.styles%7Cext.phonos.icons%2Cstyles%7Cext.pygments%2CwikimediaBadges%7Cext.uls.interlanguage%7Cext.visualEditor.desktopArticleTarget.noscript%7Cext.wikimediamessages.styles%7Cjquery.makeCollapsible.styles%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles%7Cwikibase.client.init&amp;only=styles&amp;skin=vector-2022"> <script async="" src="/w/load.php?lang=en&amp;modules=startup&amp;only=scripts&amp;raw=1&amp;skin=vector-2022"></script> <meta name="ResourceLoaderDynamicStyles" content=""> <link rel="stylesheet" href="/w/load.php?lang=en&amp;modules=site.styles&amp;only=styles&amp;skin=vector-2022"> <meta name="generator" content="MediaWiki 1.44.0-wmf.17"> <meta name="referrer" content="origin"> <meta name="referrer" content="origin-when-cross-origin"> <meta name="robots" content="max-image-preview:standard"> <meta name="format-detection" content="telephone=no"> <meta name="viewport" content="width=1120"> <meta property="og:title" content="Emacs - Wikipedia"> <meta property="og:type" content="website"> <link rel="preconnect" href="//upload.wikimedia.org"> <link rel="alternate" media="only screen and (max-width: 640px)" href="//en.m.wikipedia.org/wiki/Emacs"> <link rel="alternate" type="application/x-wiki" title="Edit this page" href="/w/index.php?title=Emacs&amp;action=edit"> <link rel="apple-touch-icon" href="/static/apple-touch/wikipedia.png"> <link rel="icon" href="/static/favicon/wikipedia.ico"> <link rel="search" type="application/opensearchdescription+xml" href="/w/rest.php/v1/search" title="Wikipedia (en)"> <link rel="EditURI" type="application/rsd+xml" href="//en.wikipedia.org/w/api.php?action=rsd"> <link rel="canonical" href="https://en.wikipedia.org/wiki/Emacs"> <link rel="license" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en"> <link rel="alternate" type="application/atom+xml" title="Wikipedia Atom feed" href="/w/index.php?title=Special:RecentChanges&amp;feed=atom"> <link rel="dns-prefetch" href="//meta.wikimedia.org" /> <link rel="dns-prefetch" href="login.wikimedia.org"> </head> <body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject mw-editable page-Emacs rootpage-Emacs skin-vector-2022 action-view"><a class="mw-jump-link" href="#bodyContent">Jump to content</a> <div class="vector-header-container"> <header class="vector-header mw-header"> <div class="vector-header-start"> <nav class="vector-main-menu-landmark" aria-label="Site"> <div id="vector-main-menu-dropdown" class="vector-dropdown vector-main-menu-dropdown vector-button-flush-left vector-button-flush-right" title="Main menu" > <input type="checkbox" id="vector-main-menu-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-main-menu-dropdown" class="vector-dropdown-checkbox " aria-label="Main menu" > <label id="vector-main-menu-dropdown-label" for="vector-main-menu-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-menu mw-ui-icon-wikimedia-menu"></span> <span class="vector-dropdown-label-text">Main menu</span> </label> <div class="vector-dropdown-content"> <div id="vector-main-menu-unpinned-container" class="vector-unpinned-container"> <div id="vector-main-menu" class="vector-main-menu vector-pinnable-element"> <div class="vector-pinnable-header vector-main-menu-pinnable-header vector-pinnable-header-unpinned" data-feature-name="main-menu-pinned" data-pinnable-element-id="vector-main-menu" data-pinned-container-id="vector-main-menu-pinned-container" data-unpinned-container-id="vector-main-menu-unpinned-container" > <div class="vector-pinnable-header-label">Main menu</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-main-menu.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-main-menu.unpin">hide</button> </div> <div id="p-navigation" class="vector-menu mw-portlet mw-portlet-navigation" > <div class="vector-menu-heading"> Navigation </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-mainpage-description" class="mw-list-item"><a href="/wiki/Main_Page" title="Visit the main page [z]" accesskey="z"><span>Main page</span></a></li><li id="n-contents" class="mw-list-item"><a href="/wiki/Wikipedia:Contents" title="Guides to browsing Wikipedia"><span>Contents</span></a></li><li id="n-currentevents" class="mw-list-item"><a href="/wiki/Portal:Current_events" title="Articles related to current events"><span>Current events</span></a></li><li id="n-randompage" class="mw-list-item"><a href="/wiki/Special:Random" title="Visit a randomly selected article [x]" accesskey="x"><span>Random article</span></a></li><li id="n-aboutsite" class="mw-list-item"><a href="/wiki/Wikipedia:About" title="Learn about Wikipedia and how it works"><span>About Wikipedia</span></a></li><li id="n-contactpage" class="mw-list-item"><a href="//en.wikipedia.org/wiki/Wikipedia:Contact_us" title="How to contact Wikipedia"><span>Contact us</span></a></li> </ul> </div> </div> <div id="p-interaction" class="vector-menu mw-portlet mw-portlet-interaction" > <div class="vector-menu-heading"> Contribute </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-help" class="mw-list-item"><a href="/wiki/Help:Contents" title="Guidance on how to use and edit Wikipedia"><span>Help</span></a></li><li id="n-introduction" class="mw-list-item"><a href="/wiki/Help:Introduction" title="Learn how to edit Wikipedia"><span>Learn to edit</span></a></li><li id="n-portal" class="mw-list-item"><a href="/wiki/Wikipedia:Community_portal" title="The hub for editors"><span>Community portal</span></a></li><li id="n-recentchanges" class="mw-list-item"><a href="/wiki/Special:RecentChanges" title="A list of recent changes to Wikipedia [r]" accesskey="r"><span>Recent changes</span></a></li><li id="n-upload" class="mw-list-item"><a href="/wiki/Wikipedia:File_upload_wizard" title="Add images or other media for use on Wikipedia"><span>Upload file</span></a></li><li id="n-specialpages" class="mw-list-item"><a href="/wiki/Special:SpecialPages"><span>Special pages</span></a></li> </ul> </div> </div> </div> </div> </div> </div> </nav> <a href="/wiki/Main_Page" class="mw-logo"> <img class="mw-logo-icon" src="/static/images/icons/wikipedia.png" alt="" aria-hidden="true" height="50" width="50"> <span class="mw-logo-container skin-invert"> <img class="mw-logo-wordmark" alt="Wikipedia" src="/static/images/mobile/copyright/wikipedia-wordmark-en.svg" style="width: 7.5em; height: 1.125em;"> <img class="mw-logo-tagline" alt="The Free Encyclopedia" src="/static/images/mobile/copyright/wikipedia-tagline-en.svg" width="117" height="13" style="width: 7.3125em; height: 0.8125em;"> </span> </a> </div> <div class="vector-header-end"> <div id="p-search" role="search" class="vector-search-box-vue vector-search-box-collapses vector-search-box-show-thumbnail vector-search-box-auto-expand-width vector-search-box"> <a href="/wiki/Special:Search" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only search-toggle" title="Search Wikipedia [f]" accesskey="f"><span class="vector-icon mw-ui-icon-search mw-ui-icon-wikimedia-search"></span> <span>Search</span> </a> <div class="vector-typeahead-search-container"> <div class="cdx-typeahead-search cdx-typeahead-search--show-thumbnail cdx-typeahead-search--auto-expand-width"> <form action="/w/index.php" id="searchform" class="cdx-search-input cdx-search-input--has-end-button"> <div id="simpleSearch" class="cdx-search-input__input-wrapper" data-search-loc="header-moved"> <div class="cdx-text-input cdx-text-input--has-start-icon"> <input class="cdx-text-input__input" type="search" name="search" placeholder="Search Wikipedia" aria-label="Search Wikipedia" autocapitalize="sentences" title="Search Wikipedia [f]" accesskey="f" id="searchInput" > <span class="cdx-text-input__icon cdx-text-input__start-icon"></span> </div> <input type="hidden" name="title" value="Special:Search"> </div> <button class="cdx-button cdx-search-input__end-button">Search</button> </form> </div> </div> </div> <nav class="vector-user-links vector-user-links-wide" aria-label="Personal tools"> <div class="vector-user-links-main"> <div id="p-vector-user-menu-preferences" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <div id="p-vector-user-menu-userpage" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <nav class="vector-appearance-landmark" aria-label="Appearance"> <div id="vector-appearance-dropdown" class="vector-dropdown " title="Change the appearance of the page&#039;s font size, width, and color" > <input type="checkbox" id="vector-appearance-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-appearance-dropdown" class="vector-dropdown-checkbox " aria-label="Appearance" > <label id="vector-appearance-dropdown-label" for="vector-appearance-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-appearance mw-ui-icon-wikimedia-appearance"></span> <span class="vector-dropdown-label-text">Appearance</span> </label> <div class="vector-dropdown-content"> <div id="vector-appearance-unpinned-container" class="vector-unpinned-container"> </div> </div> </div> </nav> <div id="p-vector-user-menu-notifications" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <div id="p-vector-user-menu-overflow" class="vector-menu mw-portlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-sitesupport-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="https://donate.wikimedia.org/?wmf_source=donate&amp;wmf_medium=sidebar&amp;wmf_campaign=en.wikipedia.org&amp;uselang=en" class=""><span>Donate</span></a> </li> <li id="pt-createaccount-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="/w/index.php?title=Special:CreateAccount&amp;returnto=Emacs" title="You are encouraged to create an account and log in; however, it is not mandatory" class=""><span>Create account</span></a> </li> <li id="pt-login-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="/w/index.php?title=Special:UserLogin&amp;returnto=Emacs" title="You&#039;re encouraged to log in; however, it&#039;s not mandatory. [o]" accesskey="o" class=""><span>Log in</span></a> </li> </ul> </div> </div> </div> <div id="vector-user-links-dropdown" class="vector-dropdown vector-user-menu vector-button-flush-right vector-user-menu-logged-out" title="Log in and more options" > <input type="checkbox" id="vector-user-links-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-user-links-dropdown" class="vector-dropdown-checkbox " aria-label="Personal tools" > <label id="vector-user-links-dropdown-label" for="vector-user-links-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-ellipsis mw-ui-icon-wikimedia-ellipsis"></span> <span class="vector-dropdown-label-text">Personal tools</span> </label> <div class="vector-dropdown-content"> <div id="p-personal" class="vector-menu mw-portlet mw-portlet-personal user-links-collapsible-item" title="User menu" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-sitesupport" class="user-links-collapsible-item mw-list-item"><a href="https://donate.wikimedia.org/?wmf_source=donate&amp;wmf_medium=sidebar&amp;wmf_campaign=en.wikipedia.org&amp;uselang=en"><span>Donate</span></a></li><li id="pt-createaccount" class="user-links-collapsible-item mw-list-item"><a href="/w/index.php?title=Special:CreateAccount&amp;returnto=Emacs" title="You are encouraged to create an account and log in; however, it is not mandatory"><span class="vector-icon mw-ui-icon-userAdd mw-ui-icon-wikimedia-userAdd"></span> <span>Create account</span></a></li><li id="pt-login" class="user-links-collapsible-item mw-list-item"><a href="/w/index.php?title=Special:UserLogin&amp;returnto=Emacs" title="You&#039;re encouraged to log in; however, it&#039;s not mandatory. [o]" accesskey="o"><span class="vector-icon mw-ui-icon-logIn mw-ui-icon-wikimedia-logIn"></span> <span>Log in</span></a></li> </ul> </div> </div> <div id="p-user-menu-anon-editor" class="vector-menu mw-portlet mw-portlet-user-menu-anon-editor" > <div class="vector-menu-heading"> Pages for logged out editors <a href="/wiki/Help:Introduction" aria-label="Learn more about editing"><span>learn more</span></a> </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-anoncontribs" class="mw-list-item"><a href="/wiki/Special:MyContributions" title="A list of edits made from this IP address [y]" accesskey="y"><span>Contributions</span></a></li><li id="pt-anontalk" class="mw-list-item"><a href="/wiki/Special:MyTalk" title="Discussion about edits from this IP address [n]" accesskey="n"><span>Talk</span></a></li> </ul> </div> </div> </div> </div> </nav> </div> </header> </div> <div class="mw-page-container"> <div class="mw-page-container-inner"> <div class="vector-sitenotice-container"> <div id="siteNotice"><!-- CentralNotice --></div> </div> <div class="vector-column-start"> <div class="vector-main-menu-container"> <div id="mw-navigation"> <nav id="mw-panel" class="vector-main-menu-landmark" aria-label="Site"> <div id="vector-main-menu-pinned-container" class="vector-pinned-container"> </div> </nav> </div> </div> <div class="vector-sticky-pinned-container"> <nav id="mw-panel-toc" aria-label="Contents" data-event-name="ui.sidebar-toc" class="mw-table-of-contents-container vector-toc-landmark"> <div id="vector-toc-pinned-container" class="vector-pinned-container"> <div id="vector-toc" class="vector-toc vector-pinnable-element"> <div class="vector-pinnable-header vector-toc-pinnable-header vector-pinnable-header-pinned" data-feature-name="toc-pinned" data-pinnable-element-id="vector-toc" > <h2 class="vector-pinnable-header-label">Contents</h2> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-toc.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-toc.unpin">hide</button> </div> <ul class="vector-toc-contents" id="mw-panel-toc-list"> <li id="toc-mw-content-text" class="vector-toc-list-item vector-toc-level-1"> <a href="#" class="vector-toc-link"> <div class="vector-toc-text">(Top)</div> </a> </li> <li id="toc-History" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#History"> <div class="vector-toc-text"> <span class="vector-toc-numb">1</span> <span>History</span> </div> </a> <ul id="toc-History-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Implementations" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Implementations"> <div class="vector-toc-text"> <span class="vector-toc-numb">2</span> <span>Implementations</span> </div> </a> <button aria-controls="toc-Implementations-sublist" class="cdx-button cdx-button--weight-quiet cdx-button--icon-only vector-toc-toggle"> <span class="vector-icon mw-ui-icon-wikimedia-expand"></span> <span>Toggle Implementations subsection</span> </button> <ul id="toc-Implementations-sublist" class="vector-toc-list"> <li id="toc-Early_implementations" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Early_implementations"> <div class="vector-toc-text"> <span class="vector-toc-numb">2.1</span> <span>Early implementations</span> </div> </a> <ul id="toc-Early_implementations-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-GNU_Emacs" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#GNU_Emacs"> <div class="vector-toc-text"> <span class="vector-toc-numb">2.2</span> <span>GNU Emacs</span> </div> </a> <ul id="toc-GNU_Emacs-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-XEmacs" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#XEmacs"> <div class="vector-toc-text"> <span class="vector-toc-numb">2.3</span> <span>XEmacs</span> </div> </a> <ul id="toc-XEmacs-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Other_forks_of_GNU_Emacs" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Other_forks_of_GNU_Emacs"> <div class="vector-toc-text"> <span class="vector-toc-numb">2.4</span> <span>Other forks of GNU Emacs</span> </div> </a> <ul id="toc-Other_forks_of_GNU_Emacs-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Various_Emacs_editors" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Various_Emacs_editors"> <div class="vector-toc-text"> <span class="vector-toc-numb">2.5</span> <span>Various Emacs editors</span> </div> </a> <ul id="toc-Various_Emacs_editors-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Editors_with_Emacs_emulation" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Editors_with_Emacs_emulation"> <div class="vector-toc-text"> <span class="vector-toc-numb">2.6</span> <span>Editors with Emacs emulation</span> </div> </a> <ul id="toc-Editors_with_Emacs_emulation-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> <li id="toc-Features" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Features"> <div class="vector-toc-text"> <span class="vector-toc-numb">3</span> <span>Features</span> </div> </a> <button aria-controls="toc-Features-sublist" class="cdx-button cdx-button--weight-quiet cdx-button--icon-only vector-toc-toggle"> <span class="vector-icon mw-ui-icon-wikimedia-expand"></span> <span>Toggle Features subsection</span> </button> <ul id="toc-Features-sublist" class="vector-toc-list"> <li id="toc-General_architecture" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#General_architecture"> <div class="vector-toc-text"> <span class="vector-toc-numb">3.1</span> <span>General architecture</span> </div> </a> <ul id="toc-General_architecture-sublist" class="vector-toc-list"> <li id="toc-Interactive_data" class="vector-toc-list-item vector-toc-level-3"> <a class="vector-toc-link" href="#Interactive_data"> <div class="vector-toc-text"> <span class="vector-toc-numb">3.1.1</span> <span>Interactive data</span> </div> </a> <ul id="toc-Interactive_data-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Command_language" class="vector-toc-list-item vector-toc-level-3"> <a class="vector-toc-link" href="#Command_language"> <div class="vector-toc-text"> <span class="vector-toc-numb">3.1.2</span> <span>Command language</span> </div> </a> <ul id="toc-Command_language-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Dynamic_display" class="vector-toc-list-item vector-toc-level-3"> <a class="vector-toc-link" href="#Dynamic_display"> <div class="vector-toc-text"> <span class="vector-toc-numb">3.1.3</span> <span>Dynamic display</span> </div> </a> <ul id="toc-Dynamic_display-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> <li id="toc-Customizability_and_extensibility" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Customizability_and_extensibility"> <div class="vector-toc-text"> <span class="vector-toc-numb">3.2</span> <span>Customizability and extensibility</span> </div> </a> <ul id="toc-Customizability_and_extensibility-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Self-documenting" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Self-documenting"> <div class="vector-toc-text"> <span class="vector-toc-numb">3.3</span> <span>Self-documenting</span> </div> </a> <ul id="toc-Self-documenting-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> <li id="toc-Culture" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Culture"> <div class="vector-toc-text"> <span class="vector-toc-numb">4</span> <span>Culture</span> </div> </a> <button aria-controls="toc-Culture-sublist" class="cdx-button cdx-button--weight-quiet cdx-button--icon-only vector-toc-toggle"> <span class="vector-icon mw-ui-icon-wikimedia-expand"></span> <span>Toggle Culture subsection</span> </button> <ul id="toc-Culture-sublist" class="vector-toc-list"> <li id="toc-Church_of_Emacs" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Church_of_Emacs"> <div class="vector-toc-text"> <span class="vector-toc-numb">4.1</span> <span>Church of Emacs</span> </div> </a> <ul id="toc-Church_of_Emacs-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Terminology" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Terminology"> <div class="vector-toc-text"> <span class="vector-toc-numb">4.2</span> <span>Terminology</span> </div> </a> <ul id="toc-Terminology-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> <li id="toc-See_also" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#See_also"> <div class="vector-toc-text"> <span class="vector-toc-numb">5</span> <span>See also</span> </div> </a> <ul id="toc-See_also-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-References" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#References"> <div class="vector-toc-text"> <span class="vector-toc-numb">6</span> <span>References</span> </div> </a> <ul id="toc-References-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Bibliography" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Bibliography"> <div class="vector-toc-text"> <span class="vector-toc-numb">7</span> <span>Bibliography</span> </div> </a> <ul id="toc-Bibliography-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-External_links" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#External_links"> <div class="vector-toc-text"> <span class="vector-toc-numb">8</span> <span>External links</span> </div> </a> <ul id="toc-External_links-sublist" class="vector-toc-list"> </ul> </li> </ul> </div> </div> </nav> </div> </div> <div class="mw-content-container"> <main id="content" class="mw-body"> <header class="mw-body-header vector-page-titlebar"> <nav aria-label="Contents" class="vector-toc-landmark"> <div id="vector-page-titlebar-toc" class="vector-dropdown vector-page-titlebar-toc vector-button-flush-left" title="Table of Contents" > <input type="checkbox" id="vector-page-titlebar-toc-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-page-titlebar-toc" class="vector-dropdown-checkbox " aria-label="Toggle the table of contents" > <label id="vector-page-titlebar-toc-label" for="vector-page-titlebar-toc-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-listBullet mw-ui-icon-wikimedia-listBullet"></span> <span class="vector-dropdown-label-text">Toggle the table of contents</span> </label> <div class="vector-dropdown-content"> <div id="vector-page-titlebar-toc-unpinned-container" class="vector-unpinned-container"> </div> </div> </div> </nav> <h1 id="firstHeading" class="firstHeading mw-first-heading"><span class="mw-page-title-main">Emacs</span></h1> <div id="p-lang-btn" class="vector-dropdown mw-portlet mw-portlet-lang" > <input type="checkbox" id="p-lang-btn-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-p-lang-btn" class="vector-dropdown-checkbox mw-interlanguage-selector" aria-label="Go to an article in another language. Available in 41 languages" > <label id="p-lang-btn-label" for="p-lang-btn-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--action-progressive mw-portlet-lang-heading-41" aria-hidden="true" ><span class="vector-icon mw-ui-icon-language-progressive mw-ui-icon-wikimedia-language-progressive"></span> <span class="vector-dropdown-label-text">41 languages</span> </label> <div class="vector-dropdown-content"> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li class="interlanguage-link interwiki-ar mw-list-item"><a href="https://ar.wikipedia.org/wiki/%D8%A5%D9%8A%D9%85%D8%A7%D9%83%D8%B3" title="إيماكس – Arabic" lang="ar" hreflang="ar" data-title="إيماكس" data-language-autonym="العربية" data-language-local-name="Arabic" class="interlanguage-link-target"><span>العربية</span></a></li><li class="interlanguage-link interwiki-az mw-list-item"><a href="https://az.wikipedia.org/wiki/Emacs" title="Emacs – Azerbaijani" lang="az" hreflang="az" data-title="Emacs" data-language-autonym="Azərbaycanca" data-language-local-name="Azerbaijani" class="interlanguage-link-target"><span>Azərbaycanca</span></a></li><li class="interlanguage-link interwiki-bn mw-list-item"><a href="https://bn.wikipedia.org/wiki/%E0%A6%87%E0%A6%AE%E0%A7%8D%E0%A6%AF%E0%A6%BE%E0%A6%95%E0%A6%B8" title="ইম্যাকস – Bangla" lang="bn" hreflang="bn" data-title="ইম্যাকস" data-language-autonym="বাংলা" data-language-local-name="Bangla" class="interlanguage-link-target"><span>বাংলা</span></a></li><li class="interlanguage-link interwiki-be-x-old mw-list-item"><a href="https://be-tarask.wikipedia.org/wiki/Emacs" title="Emacs – Belarusian (Taraškievica orthography)" lang="be-tarask" hreflang="be-tarask" data-title="Emacs" data-language-autonym="Беларуская (тарашкевіца)" data-language-local-name="Belarusian (Taraškievica orthography)" class="interlanguage-link-target"><span>Беларуская (тарашкевіца)</span></a></li><li class="interlanguage-link interwiki-bg mw-list-item"><a href="https://bg.wikipedia.org/wiki/Emacs" title="Emacs – Bulgarian" lang="bg" hreflang="bg" data-title="Emacs" data-language-autonym="Български" data-language-local-name="Bulgarian" class="interlanguage-link-target"><span>Български</span></a></li><li class="interlanguage-link interwiki-bs mw-list-item"><a href="https://bs.wikipedia.org/wiki/Emacs" title="Emacs – Bosnian" lang="bs" hreflang="bs" data-title="Emacs" data-language-autonym="Bosanski" data-language-local-name="Bosnian" class="interlanguage-link-target"><span>Bosanski</span></a></li><li class="interlanguage-link interwiki-ca mw-list-item"><a href="https://ca.wikipedia.org/wiki/Emacs" title="Emacs – Catalan" lang="ca" hreflang="ca" data-title="Emacs" data-language-autonym="Català" data-language-local-name="Catalan" class="interlanguage-link-target"><span>Català</span></a></li><li class="interlanguage-link interwiki-cs mw-list-item"><a href="https://cs.wikipedia.org/wiki/Emacs" title="Emacs – Czech" lang="cs" hreflang="cs" data-title="Emacs" data-language-autonym="Čeština" data-language-local-name="Czech" class="interlanguage-link-target"><span>Čeština</span></a></li><li class="interlanguage-link interwiki-da mw-list-item"><a href="https://da.wikipedia.org/wiki/Emacs" title="Emacs – Danish" lang="da" hreflang="da" data-title="Emacs" data-language-autonym="Dansk" data-language-local-name="Danish" class="interlanguage-link-target"><span>Dansk</span></a></li><li class="interlanguage-link interwiki-et mw-list-item"><a href="https://et.wikipedia.org/wiki/Emacs" title="Emacs – Estonian" lang="et" hreflang="et" data-title="Emacs" data-language-autonym="Eesti" data-language-local-name="Estonian" class="interlanguage-link-target"><span>Eesti</span></a></li><li class="interlanguage-link interwiki-el mw-list-item"><a href="https://el.wikipedia.org/wiki/Emacs" title="Emacs – Greek" lang="el" hreflang="el" data-title="Emacs" data-language-autonym="Ελληνικά" data-language-local-name="Greek" class="interlanguage-link-target"><span>Ελληνικά</span></a></li><li class="interlanguage-link interwiki-eo mw-list-item"><a href="https://eo.wikipedia.org/wiki/Emacs" title="Emacs – Esperanto" lang="eo" hreflang="eo" data-title="Emacs" data-language-autonym="Esperanto" data-language-local-name="Esperanto" class="interlanguage-link-target"><span>Esperanto</span></a></li><li class="interlanguage-link interwiki-eu mw-list-item"><a href="https://eu.wikipedia.org/wiki/Emacs" title="Emacs – Basque" lang="eu" hreflang="eu" data-title="Emacs" data-language-autonym="Euskara" data-language-local-name="Basque" class="interlanguage-link-target"><span>Euskara</span></a></li><li class="interlanguage-link interwiki-fa mw-list-item"><a href="https://fa.wikipedia.org/wiki/%D8%A7%DB%8C%D9%85%DA%A9%D8%B3" title="ایمکس – Persian" lang="fa" hreflang="fa" data-title="ایمکس" data-language-autonym="فارسی" data-language-local-name="Persian" class="interlanguage-link-target"><span>فارسی</span></a></li><li class="interlanguage-link interwiki-fr mw-list-item"><a href="https://fr.wikipedia.org/wiki/Emacs" title="Emacs – French" lang="fr" hreflang="fr" data-title="Emacs" data-language-autonym="Français" data-language-local-name="French" class="interlanguage-link-target"><span>Français</span></a></li><li class="interlanguage-link interwiki-gl mw-list-item"><a href="https://gl.wikipedia.org/wiki/Emacs" title="Emacs – Galician" lang="gl" hreflang="gl" data-title="Emacs" data-language-autonym="Galego" data-language-local-name="Galician" class="interlanguage-link-target"><span>Galego</span></a></li><li class="interlanguage-link interwiki-ko mw-list-item"><a href="https://ko.wikipedia.org/wiki/%EC%9D%B4%EB%A7%A5%EC%8A%A4" title="이맥스 – Korean" lang="ko" hreflang="ko" data-title="이맥스" data-language-autonym="한국어" data-language-local-name="Korean" class="interlanguage-link-target"><span>한국어</span></a></li><li class="interlanguage-link interwiki-id mw-list-item"><a href="https://id.wikipedia.org/wiki/Emacs" title="Emacs – Indonesian" lang="id" hreflang="id" data-title="Emacs" data-language-autonym="Bahasa Indonesia" data-language-local-name="Indonesian" class="interlanguage-link-target"><span>Bahasa Indonesia</span></a></li><li class="interlanguage-link interwiki-ia mw-list-item"><a href="https://ia.wikipedia.org/wiki/Emacs" title="Emacs – Interlingua" lang="ia" hreflang="ia" data-title="Emacs" data-language-autonym="Interlingua" data-language-local-name="Interlingua" class="interlanguage-link-target"><span>Interlingua</span></a></li><li class="interlanguage-link interwiki-it mw-list-item"><a href="https://it.wikipedia.org/wiki/Emacs" title="Emacs – Italian" lang="it" hreflang="it" data-title="Emacs" data-language-autonym="Italiano" data-language-local-name="Italian" class="interlanguage-link-target"><span>Italiano</span></a></li><li class="interlanguage-link interwiki-he mw-list-item"><a href="https://he.wikipedia.org/wiki/Emacs" title="Emacs – Hebrew" lang="he" hreflang="he" data-title="Emacs" data-language-autonym="עברית" data-language-local-name="Hebrew" class="interlanguage-link-target"><span>עברית</span></a></li><li class="interlanguage-link interwiki-hu mw-list-item"><a href="https://hu.wikipedia.org/wiki/Emacs" title="Emacs – Hungarian" lang="hu" hreflang="hu" data-title="Emacs" data-language-autonym="Magyar" data-language-local-name="Hungarian" class="interlanguage-link-target"><span>Magyar</span></a></li><li class="interlanguage-link interwiki-ml mw-list-item"><a href="https://ml.wikipedia.org/wiki/%E0%B4%87%E0%B4%AE%E0%B4%BE%E0%B4%95%E0%B5%8D%E0%B4%B8%E0%B5%8D%E2%80%8C" title="ഇമാക്സ്‌ – Malayalam" lang="ml" hreflang="ml" data-title="ഇമാക്സ്‌" data-language-autonym="മലയാളം" data-language-local-name="Malayalam" class="interlanguage-link-target"><span>മലയാളം</span></a></li><li class="interlanguage-link interwiki-ms mw-list-item"><a href="https://ms.wikipedia.org/wiki/Emacs" title="Emacs – Malay" lang="ms" hreflang="ms" data-title="Emacs" data-language-autonym="Bahasa Melayu" data-language-local-name="Malay" class="interlanguage-link-target"><span>Bahasa Melayu</span></a></li><li class="interlanguage-link interwiki-nl mw-list-item"><a href="https://nl.wikipedia.org/wiki/Emacs" title="Emacs – Dutch" lang="nl" hreflang="nl" data-title="Emacs" data-language-autonym="Nederlands" data-language-local-name="Dutch" class="interlanguage-link-target"><span>Nederlands</span></a></li><li class="interlanguage-link interwiki-ja mw-list-item"><a href="https://ja.wikipedia.org/wiki/Emacs" title="Emacs – Japanese" lang="ja" hreflang="ja" data-title="Emacs" data-language-autonym="日本語" data-language-local-name="Japanese" class="interlanguage-link-target"><span>日本語</span></a></li><li class="interlanguage-link interwiki-no mw-list-item"><a href="https://no.wikipedia.org/wiki/Emacs" title="Emacs – Norwegian Bokmål" lang="nb" hreflang="nb" data-title="Emacs" data-language-autonym="Norsk bokmål" data-language-local-name="Norwegian Bokmål" class="interlanguage-link-target"><span>Norsk bokmål</span></a></li><li class="interlanguage-link interwiki-pl mw-list-item"><a href="https://pl.wikipedia.org/wiki/Emacs" title="Emacs – Polish" lang="pl" hreflang="pl" data-title="Emacs" data-language-autonym="Polski" data-language-local-name="Polish" class="interlanguage-link-target"><span>Polski</span></a></li><li class="interlanguage-link interwiki-ro mw-list-item"><a href="https://ro.wikipedia.org/wiki/Emacs" title="Emacs – Romanian" lang="ro" hreflang="ro" data-title="Emacs" data-language-autonym="Română" data-language-local-name="Romanian" class="interlanguage-link-target"><span>Română</span></a></li><li class="interlanguage-link interwiki-ru mw-list-item"><a href="https://ru.wikipedia.org/wiki/Emacs" title="Emacs – Russian" lang="ru" hreflang="ru" data-title="Emacs" data-language-autonym="Русский" data-language-local-name="Russian" class="interlanguage-link-target"><span>Русский</span></a></li><li class="interlanguage-link interwiki-sk mw-list-item"><a href="https://sk.wikipedia.org/wiki/Emacs" title="Emacs – Slovak" lang="sk" hreflang="sk" data-title="Emacs" data-language-autonym="Slovenčina" data-language-local-name="Slovak" class="interlanguage-link-target"><span>Slovenčina</span></a></li><li class="interlanguage-link interwiki-sh mw-list-item"><a href="https://sh.wikipedia.org/wiki/Emacs" title="Emacs – Serbo-Croatian" lang="sh" hreflang="sh" data-title="Emacs" data-language-autonym="Srpskohrvatski / српскохрватски" data-language-local-name="Serbo-Croatian" class="interlanguage-link-target"><span>Srpskohrvatski / српскохрватски</span></a></li><li class="interlanguage-link interwiki-fi mw-list-item"><a href="https://fi.wikipedia.org/wiki/Emacs" title="Emacs – Finnish" lang="fi" hreflang="fi" data-title="Emacs" data-language-autonym="Suomi" data-language-local-name="Finnish" class="interlanguage-link-target"><span>Suomi</span></a></li><li class="interlanguage-link interwiki-sv mw-list-item"><a href="https://sv.wikipedia.org/wiki/Emacs" title="Emacs – Swedish" lang="sv" hreflang="sv" data-title="Emacs" data-language-autonym="Svenska" data-language-local-name="Swedish" class="interlanguage-link-target"><span>Svenska</span></a></li><li class="interlanguage-link interwiki-ta mw-list-item"><a href="https://ta.wikipedia.org/wiki/%E0%AE%87%E0%AE%AE%E0%AF%87%E0%AE%95%E0%AF%8D%E0%AE%9A%E0%AF%81" title="இமேக்சு – Tamil" lang="ta" hreflang="ta" data-title="இமேக்சு" data-language-autonym="தமிழ்" data-language-local-name="Tamil" class="interlanguage-link-target"><span>தமிழ்</span></a></li><li class="interlanguage-link interwiki-te mw-list-item"><a href="https://te.wikipedia.org/wiki/%E0%B0%87%E0%B0%AE%E0%B1%8D%E0%B0%AF%E0%B0%BE%E0%B0%95%E0%B1%8D%E0%B0%B8%E0%B1%8D" title="ఇమ్యాక్స్ – Telugu" lang="te" hreflang="te" data-title="ఇమ్యాక్స్" data-language-autonym="తెలుగు" data-language-local-name="Telugu" class="interlanguage-link-target"><span>తెలుగు</span></a></li><li class="interlanguage-link interwiki-th mw-list-item"><a href="https://th.wikipedia.org/wiki/%E0%B8%AD%E0%B8%B5%E0%B9%81%E0%B8%A1%E0%B9%87%E0%B8%84%E0%B8%AA%E0%B9%8C" title="อีแม็คส์ – Thai" lang="th" hreflang="th" data-title="อีแม็คส์" data-language-autonym="ไทย" data-language-local-name="Thai" class="interlanguage-link-target"><span>ไทย</span></a></li><li class="interlanguage-link interwiki-tr mw-list-item"><a href="https://tr.wikipedia.org/wiki/Emacs" title="Emacs – Turkish" lang="tr" hreflang="tr" data-title="Emacs" data-language-autonym="Türkçe" data-language-local-name="Turkish" class="interlanguage-link-target"><span>Türkçe</span></a></li><li class="interlanguage-link interwiki-uk mw-list-item"><a href="https://uk.wikipedia.org/wiki/Emacs" title="Emacs – Ukrainian" lang="uk" hreflang="uk" data-title="Emacs" data-language-autonym="Українська" data-language-local-name="Ukrainian" class="interlanguage-link-target"><span>Українська</span></a></li><li class="interlanguage-link interwiki-vi mw-list-item"><a href="https://vi.wikipedia.org/wiki/Emacs" title="Emacs – Vietnamese" lang="vi" hreflang="vi" data-title="Emacs" data-language-autonym="Tiếng Việt" data-language-local-name="Vietnamese" class="interlanguage-link-target"><span>Tiếng Việt</span></a></li><li class="interlanguage-link interwiki-zh mw-list-item"><a href="https://zh.wikipedia.org/wiki/Emacs" title="Emacs – Chinese" lang="zh" hreflang="zh" data-title="Emacs" data-language-autonym="中文" data-language-local-name="Chinese" class="interlanguage-link-target"><span>中文</span></a></li> </ul> <div class="after-portlet after-portlet-lang"><span class="wb-langlinks-edit wb-langlinks-link"><a href="https://www.wikidata.org/wiki/Special:EntityPage/Q189722#sitelinks-wikipedia" title="Edit interlanguage links" class="wbc-editpage">Edit links</a></span></div> </div> </div> </div> </header> <div class="vector-page-toolbar"> <div class="vector-page-toolbar-container"> <div id="left-navigation"> <nav aria-label="Namespaces"> <div id="p-associated-pages" class="vector-menu vector-menu-tabs mw-portlet mw-portlet-associated-pages" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-nstab-main" class="selected vector-tab-noicon mw-list-item"><a href="/wiki/Emacs" title="View the content page [c]" accesskey="c"><span>Article</span></a></li><li id="ca-talk" class="vector-tab-noicon mw-list-item"><a href="/wiki/Talk:Emacs" rel="discussion" title="Discuss improvements to the content page [t]" accesskey="t"><span>Talk</span></a></li> </ul> </div> </div> <div id="vector-variants-dropdown" class="vector-dropdown emptyPortlet" > <input type="checkbox" id="vector-variants-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-variants-dropdown" class="vector-dropdown-checkbox " aria-label="Change language variant" > <label id="vector-variants-dropdown-label" for="vector-variants-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet" aria-hidden="true" ><span class="vector-dropdown-label-text">English</span> </label> <div class="vector-dropdown-content"> <div id="p-variants" class="vector-menu mw-portlet mw-portlet-variants emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> </div> </div> </nav> </div> <div id="right-navigation" class="vector-collapsible"> <nav aria-label="Views"> <div id="p-views" class="vector-menu vector-menu-tabs mw-portlet mw-portlet-views" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-view" class="selected vector-tab-noicon mw-list-item"><a href="/wiki/Emacs"><span>Read</span></a></li><li id="ca-edit" class="vector-tab-noicon mw-list-item"><a href="/w/index.php?title=Emacs&amp;action=edit" title="Edit this page [e]" accesskey="e"><span>Edit</span></a></li><li id="ca-history" class="vector-tab-noicon mw-list-item"><a href="/w/index.php?title=Emacs&amp;action=history" title="Past revisions of this page [h]" accesskey="h"><span>View history</span></a></li> </ul> </div> </div> </nav> <nav class="vector-page-tools-landmark" aria-label="Page tools"> <div id="vector-page-tools-dropdown" class="vector-dropdown vector-page-tools-dropdown" > <input type="checkbox" id="vector-page-tools-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-page-tools-dropdown" class="vector-dropdown-checkbox " aria-label="Tools" > <label id="vector-page-tools-dropdown-label" for="vector-page-tools-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet" aria-hidden="true" ><span class="vector-dropdown-label-text">Tools</span> </label> <div class="vector-dropdown-content"> <div id="vector-page-tools-unpinned-container" class="vector-unpinned-container"> <div id="vector-page-tools" class="vector-page-tools vector-pinnable-element"> <div class="vector-pinnable-header vector-page-tools-pinnable-header vector-pinnable-header-unpinned" data-feature-name="page-tools-pinned" data-pinnable-element-id="vector-page-tools" data-pinned-container-id="vector-page-tools-pinned-container" data-unpinned-container-id="vector-page-tools-unpinned-container" > <div class="vector-pinnable-header-label">Tools</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-page-tools.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-page-tools.unpin">hide</button> </div> <div id="p-cactions" class="vector-menu mw-portlet mw-portlet-cactions emptyPortlet vector-has-collapsible-items" title="More options" > <div class="vector-menu-heading"> Actions </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-more-view" class="selected vector-more-collapsible-item mw-list-item"><a href="/wiki/Emacs"><span>Read</span></a></li><li id="ca-more-edit" class="vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=Emacs&amp;action=edit" title="Edit this page [e]" accesskey="e"><span>Edit</span></a></li><li id="ca-more-history" class="vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=Emacs&amp;action=history"><span>View history</span></a></li> </ul> </div> </div> <div id="p-tb" class="vector-menu mw-portlet mw-portlet-tb" > <div class="vector-menu-heading"> General </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="t-whatlinkshere" class="mw-list-item"><a href="/wiki/Special:WhatLinksHere/Emacs" title="List of all English Wikipedia pages containing links to this page [j]" accesskey="j"><span>What links here</span></a></li><li id="t-recentchangeslinked" class="mw-list-item"><a href="/wiki/Special:RecentChangesLinked/Emacs" rel="nofollow" title="Recent changes in pages linked from this page [k]" accesskey="k"><span>Related changes</span></a></li><li id="t-upload" class="mw-list-item"><a href="//en.wikipedia.org/wiki/Wikipedia:File_Upload_Wizard" title="Upload files [u]" accesskey="u"><span>Upload file</span></a></li><li id="t-permalink" class="mw-list-item"><a href="/w/index.php?title=Emacs&amp;oldid=1252643809" title="Permanent link to this revision of this page"><span>Permanent link</span></a></li><li id="t-info" class="mw-list-item"><a href="/w/index.php?title=Emacs&amp;action=info" title="More information about this page"><span>Page information</span></a></li><li id="t-cite" class="mw-list-item"><a href="/w/index.php?title=Special:CiteThisPage&amp;page=Emacs&amp;id=1252643809&amp;wpFormIdentifier=titleform" title="Information on how to cite this page"><span>Cite this page</span></a></li><li id="t-urlshortener" class="mw-list-item"><a href="/w/index.php?title=Special:UrlShortener&amp;url=https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FEmacs"><span>Get shortened URL</span></a></li><li id="t-urlshortener-qrcode" class="mw-list-item"><a href="/w/index.php?title=Special:QrCode&amp;url=https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FEmacs"><span>Download QR code</span></a></li> </ul> </div> </div> <div id="p-coll-print_export" class="vector-menu mw-portlet mw-portlet-coll-print_export" > <div class="vector-menu-heading"> Print/export </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="coll-download-as-rl" class="mw-list-item"><a href="/w/index.php?title=Special:DownloadAsPdf&amp;page=Emacs&amp;action=show-download-screen" title="Download this page as a PDF file"><span>Download as PDF</span></a></li><li id="t-print" class="mw-list-item"><a href="/w/index.php?title=Emacs&amp;printable=yes" title="Printable version of this page [p]" accesskey="p"><span>Printable version</span></a></li> </ul> </div> </div> <div id="p-wikibase-otherprojects" class="vector-menu mw-portlet mw-portlet-wikibase-otherprojects" > <div class="vector-menu-heading"> In other projects </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li class="wb-otherproject-link wb-otherproject-commons mw-list-item"><a href="https://commons.wikimedia.org/wiki/Category:Emacs" hreflang="en"><span>Wikimedia Commons</span></a></li><li class="wb-otherproject-link wb-otherproject-wikibooks mw-list-item"><a href="https://en.wikibooks.org/wiki/Emacs" hreflang="en"><span>Wikibooks</span></a></li><li class="wb-otherproject-link wb-otherproject-wikiquote mw-list-item"><a href="https://en.wikiquote.org/wiki/Emacs" hreflang="en"><span>Wikiquote</span></a></li><li id="t-wikibase" class="wb-otherproject-link wb-otherproject-wikibase-dataitem mw-list-item"><a href="https://www.wikidata.org/wiki/Special:EntityPage/Q189722" title="Structured data on this page hosted by Wikidata [g]" accesskey="g"><span>Wikidata item</span></a></li> </ul> </div> </div> </div> </div> </div> </div> </nav> </div> </div> </div> <div class="vector-column-end"> <div class="vector-sticky-pinned-container"> <nav class="vector-page-tools-landmark" aria-label="Page tools"> <div id="vector-page-tools-pinned-container" class="vector-pinned-container"> </div> </nav> <nav class="vector-appearance-landmark" aria-label="Appearance"> <div id="vector-appearance-pinned-container" class="vector-pinned-container"> <div id="vector-appearance" class="vector-appearance vector-pinnable-element"> <div class="vector-pinnable-header vector-appearance-pinnable-header vector-pinnable-header-pinned" data-feature-name="appearance-pinned" data-pinnable-element-id="vector-appearance" data-pinned-container-id="vector-appearance-pinned-container" data-unpinned-container-id="vector-appearance-unpinned-container" > <div class="vector-pinnable-header-label">Appearance</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-appearance.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-appearance.unpin">hide</button> </div> </div> </div> </nav> </div> </div> <div id="bodyContent" class="vector-body" aria-labelledby="firstHeading" data-mw-ve-target-container> <div class="vector-body-before-content"> <div class="mw-indicators"> </div> <div id="siteSub" class="noprint">From Wikipedia, the free encyclopedia</div> </div> <div id="contentSub"><div id="mw-content-subtitle"></div></div> <div id="mw-content-text" class="mw-body-content"><div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr"><div class="shortdescription nomobile noexcerpt noprint searchaux" style="display:none">Family of text editors</div> <style data-mw-deduplicate="TemplateStyles:r1236090951">.mw-parser-output .hatnote{font-style:italic}.mw-parser-output div.hatnote{padding-left:1.6em;margin-bottom:0.5em}.mw-parser-output .hatnote i{font-style:normal}.mw-parser-output .hatnote+link+.hatnote{margin-top:-0.5em}@media print{body.ns-0 .mw-parser-output .hatnote{display:none!important}}</style><div role="note" class="hatnote navigation-not-searchable">Not to be confused with <a href="/wiki/EMac" title="EMac">eMac</a> or <a href="/wiki/Emacs_Lisp" title="Emacs Lisp">Emacs Lisp</a>.</div> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1236090951"><div role="note" class="hatnote navigation-not-searchable">This article is about the class of text editors. For the most popular, current implementation, see <a href="/wiki/GNU_Emacs" title="GNU Emacs">GNU Emacs</a>.</div> <p><b>Emacs</b> (<span class="rt-commentedText nowrap"><span class="IPA nopopups noexcerpt" lang="en-fonipa"><a href="/wiki/Help:IPA/English" title="Help:IPA/English">/<span style="border-bottom:1px dotted"><span title="/ˈ/: primary stress follows">ˈ</span><span title="/iː/: &#39;ee&#39; in &#39;fleece&#39;">iː</span><span title="&#39;m&#39; in &#39;my&#39;">m</span><span title="/æ/: &#39;a&#39; in &#39;bad&#39;">æ</span><span title="&#39;k&#39; in &#39;kind&#39;">k</span><span title="&#39;s&#39; in &#39;sigh&#39;">s</span></span>/</a></span>&#32;<span class="ext-phonos"><span data-nosnippet="" id="ooui-php-1" class="noexcerpt ext-phonos-PhonosButton ext-phonos-PhonosButton-emptylabel oo-ui-widget oo-ui-widget-enabled oo-ui-buttonElement oo-ui-buttonElement-frameless oo-ui-iconElement oo-ui-buttonWidget" data-ooui="{&quot;_&quot;:&quot;mw.Phonos.PhonosButton&quot;,&quot;href&quot;:&quot;\/\/upload.wikimedia.org\/wikipedia\/commons\/transcoded\/3\/3d\/En-us-Emacs.oga\/En-us-Emacs.oga.mp3&quot;,&quot;rel&quot;:[&quot;nofollow&quot;],&quot;framed&quot;:false,&quot;icon&quot;:&quot;volumeUp&quot;,&quot;data&quot;:{&quot;ipa&quot;:&quot;&quot;,&quot;text&quot;:&quot;&quot;,&quot;lang&quot;:&quot;en&quot;,&quot;wikibase&quot;:&quot;&quot;,&quot;file&quot;:&quot;En-us-Emacs.oga&quot;},&quot;classes&quot;:[&quot;noexcerpt&quot;,&quot;ext-phonos-PhonosButton&quot;,&quot;ext-phonos-PhonosButton-emptylabel&quot;]}"><a role="button" tabindex="0" href="//upload.wikimedia.org/wikipedia/commons/transcoded/3/3d/En-us-Emacs.oga/En-us-Emacs.oga.mp3" rel="nofollow" aria-label="Play audio" title="Play audio" class="oo-ui-buttonElement-button"><span class="oo-ui-iconElement-icon oo-ui-icon-volumeUp"></span><span class="oo-ui-labelElement-label"></span><span class="oo-ui-indicatorElement-indicator oo-ui-indicatorElement-noIndicator"></span></a></span><sup class="ext-phonos-attribution noexcerpt navigation-not-searchable"><a href="/wiki/File:En-us-Emacs.oga" title="File:En-us-Emacs.oga">ⓘ</a></sup></span></span>), originally named <b>EMACS</b> (an acronym for "Editor Macros"),<sup id="cite_ref-Greenberg_1-0" class="reference"><a href="#cite_note-Greenberg-1"><span class="cite-bracket">&#91;</span>1<span class="cite-bracket">&#93;</span></a></sup><sup id="cite_ref-Gnu_Emacs_FAQ_2-0" class="reference"><a href="#cite_note-Gnu_Emacs_FAQ-2"><span class="cite-bracket">&#91;</span>2<span class="cite-bracket">&#93;</span></a></sup><sup id="cite_ref-MACSimizing_TECO_3-0" class="reference"><a href="#cite_note-MACSimizing_TECO-3"><span class="cite-bracket">&#91;</span>3<span class="cite-bracket">&#93;</span></a></sup> is a family of <a href="/wiki/Text_editor" title="Text editor">text editors</a> that are characterized by their <a href="/wiki/Extensibility" title="Extensibility">extensibility</a>.<sup id="cite_ref-4" class="reference"><a href="#cite_note-4"><span class="cite-bracket">&#91;</span>4<span class="cite-bracket">&#93;</span></a></sup> The manual for the most widely used variant,<sup id="cite_ref-5" class="reference"><a href="#cite_note-5"><span class="cite-bracket">&#91;</span>5<span class="cite-bracket">&#93;</span></a></sup> <a href="/wiki/GNU_Emacs" title="GNU Emacs">GNU Emacs</a>, describes it as "the extensible, customizable, self-documenting, real-time display editor".<sup id="cite_ref-6" class="reference"><a href="#cite_note-6"><span class="cite-bracket">&#91;</span>6<span class="cite-bracket">&#93;</span></a></sup> Development of the first Emacs began in the mid-1970s,<sup id="cite_ref-7" class="reference"><a href="#cite_note-7"><span class="cite-bracket">&#91;</span>7<span class="cite-bracket">&#93;</span></a></sup><sup id="cite_ref-8" class="reference"><a href="#cite_note-8"><span class="cite-bracket">&#91;</span>8<span class="cite-bracket">&#93;</span></a></sup> and work on GNU Emacs, directly descended from the original, is ongoing; its latest version is 30.1<sup id="cite_ref-wikidata-7d4c2b2092cb944b3a0a41b985d72cb5868baa4a-v18_9-0" class="reference"><a href="#cite_note-wikidata-7d4c2b2092cb944b3a0a41b985d72cb5868baa4a-v18-9"><span class="cite-bracket">&#91;</span>9<span class="cite-bracket">&#93;</span></a></sup>&#160;<span class="mw-valign-text-top" typeof="mw:File/Frameless"><a href="https://www.wikidata.org/wiki/Q189722?uselang=en#P348" title="Edit this on Wikidata"><img alt="Edit this on Wikidata" src="//upload.wikimedia.org/wikipedia/en/thumb/8/8a/OOjs_UI_icon_edit-ltr-progressive.svg/10px-OOjs_UI_icon_edit-ltr-progressive.svg.png" decoding="async" width="10" height="10" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/en/thumb/8/8a/OOjs_UI_icon_edit-ltr-progressive.svg/15px-OOjs_UI_icon_edit-ltr-progressive.svg.png 1.5x, //upload.wikimedia.org/wikipedia/en/thumb/8/8a/OOjs_UI_icon_edit-ltr-progressive.svg/20px-OOjs_UI_icon_edit-ltr-progressive.svg.png 2x" data-file-width="20" data-file-height="20" /></a></span>, released February 2025. </p><p>Emacs has over 10,000 built-in commands and its <a href="/wiki/User_interface" title="User interface">user interface</a> allows the user to combine these commands into <a href="/wiki/Macro_(computer_science)" title="Macro (computer science)">macros</a> to automate work. Implementations of Emacs typically feature a <a href="/wiki/Dialect_(computing)" class="mw-redirect" title="Dialect (computing)">dialect</a> of the <a href="/wiki/Lisp_(programming_language)" title="Lisp (programming language)">Lisp</a> programming language, allowing users and developers to write new commands and applications for the editor. Extensions have been written to, among other things, manage <a href="/wiki/Dired" title="Dired">files</a>, <a href="/wiki/Secure_Shell" title="Secure Shell">remote access</a>,<sup id="cite_ref-10" class="reference"><a href="#cite_note-10"><span class="cite-bracket">&#91;</span>10<span class="cite-bracket">&#93;</span></a></sup> <a href="/wiki/Gnus" title="Gnus">e-mail</a>, <a href="/wiki/Org-mode" title="Org-mode">outlines</a>, <a href="/wiki/EMMS_(media_player)" title="EMMS (media player)">multimedia</a>, <a href="/wiki/Magit" title="Magit">Git</a> integration, <a href="/wiki/RSS" title="RSS">RSS</a> feeds,<sup id="cite_ref-11" class="reference"><a href="#cite_note-11"><span class="cite-bracket">&#91;</span>11<span class="cite-bracket">&#93;</span></a></sup> and <a href="/wiki/Collaborative_editing" title="Collaborative editing">collaborative editing</a>,<sup id="cite_ref-12" class="reference"><a href="#cite_note-12"><span class="cite-bracket">&#91;</span>12<span class="cite-bracket">&#93;</span></a></sup> as well as implementations of <i><a href="/wiki/ELIZA" title="ELIZA">ELIZA</a></i>, <i><a href="/wiki/Pong" title="Pong">Pong</a></i>, <i><a href="/wiki/Conway%27s_Game_of_Life" title="Conway&#39;s Game of Life">Conway's Life</a></i>, <i><a href="/wiki/Snake_(video_game_genre)" title="Snake (video game genre)">Snake</a></i>, <i><a href="/wiki/Dunnet_(video_game)" title="Dunnet (video game)">Dunnet</a></i>, and <i><a href="/wiki/Tetris" title="Tetris">Tetris</a></i>.<sup id="cite_ref-13" class="reference"><a href="#cite_note-13"><span class="cite-bracket">&#91;</span>13<span class="cite-bracket">&#93;</span></a></sup> </p><p>The original EMACS was written in 1976 by <a href="/wiki/David_A._Moon" title="David A. Moon">David A. Moon</a> and <a href="/wiki/Guy_L._Steele_Jr." title="Guy L. Steele Jr.">Guy L. Steele Jr.</a> as a set of macros for the <a href="/wiki/TECO_(text_editor)" title="TECO (text editor)">TECO</a> editor.<sup id="cite_ref-jwz_timeline_14-0" class="reference"><a href="#cite_note-jwz_timeline-14"><span class="cite-bracket">&#91;</span>14<span class="cite-bracket">&#93;</span></a></sup><sup id="cite_ref-Greenberg_1-1" class="reference"><a href="#cite_note-Greenberg-1"><span class="cite-bracket">&#91;</span>1<span class="cite-bracket">&#93;</span></a></sup><sup id="cite_ref-Gnu_Emacs_FAQ_2-1" class="reference"><a href="#cite_note-Gnu_Emacs_FAQ-2"><span class="cite-bracket">&#91;</span>2<span class="cite-bracket">&#93;</span></a></sup><sup id="cite_ref-MACSimizing_TECO_3-1" class="reference"><a href="#cite_note-MACSimizing_TECO-3"><span class="cite-bracket">&#91;</span>3<span class="cite-bracket">&#93;</span></a></sup><sup id="cite_ref-15" class="reference"><a href="#cite_note-15"><span class="cite-bracket">&#91;</span>15<span class="cite-bracket">&#93;</span></a></sup> It was inspired by the ideas of the TECO-macro editors TECMAC and TMACS.<sup id="cite_ref-16" class="reference"><a href="#cite_note-16"><span class="cite-bracket">&#91;</span>16<span class="cite-bracket">&#93;</span></a></sup> </p><p>The most popular, and most ported, version of Emacs is GNU Emacs, which was created by <a href="/wiki/Richard_Stallman" title="Richard Stallman">Richard Stallman</a> for the <a href="/wiki/GNU_Project" title="GNU Project">GNU Project</a>.<sup id="cite_ref-17" class="reference"><a href="#cite_note-17"><span class="cite-bracket">&#91;</span>17<span class="cite-bracket">&#93;</span></a></sup> <a href="/wiki/XEmacs" title="XEmacs">XEmacs</a> is a variant that <a href="/wiki/Fork_(software_development)" title="Fork (software development)">branched</a> 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. </p><p><a href="/wiki/GNU_Emacs" title="GNU Emacs">GNU Emacs</a> is, along with <a href="/wiki/Vi_(text_editor)" title="Vi (text editor)">vi</a>, one of the two main contenders in the traditional <a href="/wiki/Editor_war" title="Editor war">editor wars</a> of <a href="/wiki/Unix" title="Unix">Unix</a> culture. GNU Emacs is among the oldest <a href="/wiki/Free_and_open_source" class="mw-redirect" title="Free and open source">free and open source</a> projects still under development.<sup id="cite_ref-18" class="reference"><a href="#cite_note-18"><span class="cite-bracket">&#91;</span>18<span class="cite-bracket">&#93;</span></a></sup> </p> <meta property="mw:PageProp/toc" /> <div class="mw-heading mw-heading2"><h2 id="History">History</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Emacs&amp;action=edit&amp;section=1" title="Edit section: History"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <figure class="mw-default-size" typeof="mw:File/Thumb"><a href="/wiki/File:Guy_Steele.jpg" class="mw-file-description"><img src="//upload.wikimedia.org/wikipedia/commons/thumb/9/9e/Guy_Steele.jpg/220px-Guy_Steele.jpg" decoding="async" width="220" height="271" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/9/9e/Guy_Steele.jpg/330px-Guy_Steele.jpg 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/9/9e/Guy_Steele.jpg/440px-Guy_Steele.jpg 2x" data-file-width="1341" data-file-height="1653" /></a><figcaption>Emacs was started by <a href="/wiki/Guy_L._Steele_Jr." title="Guy L. Steele Jr.">Guy L. Steele Jr.</a> as a project to unify the many divergent <a href="/wiki/TECO_(text_editor)" title="TECO (text editor)">TECO</a> command sets and key bindings at <a href="/wiki/Massachusetts_Institute_of_Technology" title="Massachusetts Institute of Technology">MIT</a><sup id="cite_ref-Gnu_Emacs_FAQ_2-2" class="reference"><a href="#cite_note-Gnu_Emacs_FAQ-2"><span class="cite-bracket">&#91;</span>2<span class="cite-bracket">&#93;</span></a></sup></figcaption></figure> <figure class="mw-default-size" typeof="mw:File/Thumb"><a href="/wiki/File:David_A_Moon.png" class="mw-file-description"><img src="//upload.wikimedia.org/wikipedia/commons/thumb/0/07/David_A_Moon.png/220px-David_A_Moon.png" decoding="async" width="220" height="295" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/0/07/David_A_Moon.png/330px-David_A_Moon.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/0/07/David_A_Moon.png/440px-David_A_Moon.png 2x" data-file-width="500" data-file-height="670" /></a><figcaption>David A. Moon</figcaption></figure> <figure class="mw-default-size mw-halign-right" typeof="mw:File/Thumb"><a href="/wiki/File:Space-cadet.jpg" class="mw-file-description"><img src="//upload.wikimedia.org/wikipedia/commons/thumb/4/47/Space-cadet.jpg/220px-Space-cadet.jpg" decoding="async" width="220" height="85" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/4/47/Space-cadet.jpg/330px-Space-cadet.jpg 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/4/47/Space-cadet.jpg/440px-Space-cadet.jpg 2x" data-file-width="2001" data-file-height="773" /></a><figcaption>Emacs' interface was influenced by the design of the <a href="/wiki/Space-cadet_keyboard" title="Space-cadet keyboard">space-cadet keyboard</a>, which sought to enable users to type as many different kinds of input as possible.<sup id="cite_ref-isbn1-56592-152-6_19-0" class="reference"><a href="#cite_note-isbn1-56592-152-6-19"><span class="cite-bracket">&#91;</span>19<span class="cite-bracket">&#93;</span></a></sup></figcaption></figure> <p>Emacs development began during the 1970s at the <a href="/wiki/MIT_Computer_Science_and_Artificial_Intelligence_Laboratory" title="MIT Computer Science and Artificial Intelligence Laboratory">MIT AI Lab</a>, whose <a href="/wiki/PDP-6" title="PDP-6">PDP-6</a> and <a href="/wiki/PDP-10" title="PDP-10">PDP-10</a> computers used the <a href="/wiki/Incompatible_Timesharing_System" title="Incompatible Timesharing System">Incompatible Timesharing System</a> (ITS) <a href="/wiki/Operating_system" title="Operating system">operating system</a> that featured a default <a href="/wiki/Line_editor" title="Line editor">line editor</a> known as <a href="/wiki/Text_Editor_and_Corrector" class="mw-redirect" title="Text Editor and Corrector">Tape Editor and Corrector</a> (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 (&lt;esc&gt;) 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 <a href="/wiki/Ed_(text_editor)" class="mw-redirect" title="Ed (text editor)">ed</a>. </p><p>By the 1970s, TECO was already an old program, initially released in 1962. <a href="/wiki/Richard_Stallman" title="Richard Stallman">Richard Stallman</a> visited the <a href="/wiki/Stanford_University_centers_and_institutes#Stanford_Artificial_Intelligence_Laboratory" title="Stanford University centers and institutes">Stanford AI Lab</a> in 1976<sup id="cite_ref-20" class="reference"><a href="#cite_note-20"><span class="cite-bracket">&#91;</span>20<span class="cite-bracket">&#93;</span></a></sup> and saw the lab's <i>E</i> editor, written by Fred Wright.<sup id="cite_ref-21" class="reference"><a href="#cite_note-21"><span class="cite-bracket">&#91;</span>21<span class="cite-bracket">&#93;</span></a></sup> He was impressed by the editor's intuitive <a href="/wiki/WYSIWYG" title="WYSIWYG">WYSIWYG</a> (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 <a href="/wiki/Hacker_(programmer_subculture)" class="mw-redirect" title="Hacker (programmer subculture)">hacker</a> at the AI Lab, had added to TECO a combined display/editing mode called <i>Control-R</i> 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 <a href="/wiki/Macro_(computer_science)" title="Macro (computer science)">macro</a> feature to the TECO display-editing mode that allowed the user to redefine any keystroke to run a TECO program.<sup id="cite_ref-MACSimizing_TECO_3-2" class="reference"><a href="#cite_note-MACSimizing_TECO-3"><span class="cite-bracket">&#91;</span>3<span class="cite-bracket">&#93;</span></a></sup> </p><p>E had another feature that TECO lacked: random-access editing. TECO was a page-sequential editor that was designed for editing <a href="/wiki/Paper_tape" class="mw-redirect" title="Paper tape">paper tape</a> on the <a href="/wiki/PDP-1" title="PDP-1">PDP-1</a> 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. </p><p>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 <i>MAC</i> or <i>MACS</i>, which stood for <i>macro</i>. Two years later, <a href="/wiki/Guy_L._Steele,_Jr." class="mw-redirect" title="Guy L. Steele, Jr.">Guy Steele</a> took on the project of unifying the diverse macros into a single set.<sup id="cite_ref-22" class="reference"><a href="#cite_note-22"><span class="cite-bracket">&#91;</span>22<span class="cite-bracket">&#93;</span></a></sup> Steele and Stallman's finished implementation included facilities for extending and documenting the new macro set.<sup id="cite_ref-MACSimizing_TECO_3-3" class="reference"><a href="#cite_note-MACSimizing_TECO-3"><span class="cite-bracket">&#91;</span>3<span class="cite-bracket">&#93;</span></a></sup> The resulting system was called EMACS, which stood for <i>Editing MACroS</i> or, alternatively, <i>E with MACroS</i>. Stallman picked the name Emacs "because &lt;E&gt; was not in use as an abbreviation on ITS at the time."<sup id="cite_ref-23" class="reference"><a href="#cite_note-23"><span class="cite-bracket">&#91;</span>23<span class="cite-bracket">&#93;</span></a></sup> An <a href="/wiki/Apocrypha" title="Apocrypha">apocryphal</a> <a href="/wiki/Hacker_koan#Emacs_and_Bolio" class="mw-redirect" title="Hacker koan">hacker koan</a> alleges that the program was named after <a href="/wiki/Emack_%26_Bolio%27s" title="Emack &amp; Bolio&#39;s">Emack &amp; Bolio's</a>, a popular <a href="/wiki/Boston" title="Boston">Boston</a> ice cream store.<sup id="cite_ref-24" class="reference"><a href="#cite_note-24"><span class="cite-bracket">&#91;</span>24<span class="cite-bracket">&#93;</span></a></sup> The first operational EMACS system existed in late 1976.<sup id="cite_ref-519a_25-0" class="reference"><a href="#cite_note-519a-25"><span class="cite-bracket">&#91;</span>25<span class="cite-bracket">&#93;</span></a></sup> </p><p>Stallman saw a problem in too much customization and <i>de facto</i> forking and set certain conditions for usage.<sup class="noprint Inline-Template Template-Fact" style="white-space:nowrap;">&#91;<i><a href="/wiki/Wikipedia:Citation_needed" title="Wikipedia:Citation needed"><span title="This claim needs references to reliable sources. (January 2011)">citation needed</span></a></i>&#93;</sup> He later wrote:<sup id="cite_ref-519a_25-1" class="reference"><a href="#cite_note-519a-25"><span class="cite-bracket">&#91;</span>25<span class="cite-bracket">&#93;</span></a></sup> </p> <style data-mw-deduplicate="TemplateStyles:r1244412712">.mw-parser-output .templatequote{overflow:hidden;margin:1em 0;padding:0 32px}.mw-parser-output .templatequotecite{line-height:1.5em;text-align:left;margin-top:0}@media(min-width:500px){.mw-parser-output .templatequotecite{padding-left:1.6em}}</style><blockquote class="templatequote"><p>EMACS was distributed on a basis of communal sharing, which means all improvements must be given back to me to be incorporated and distributed.</p></blockquote> <p>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 <a href="/wiki/Porting" title="Porting">ported</a> Emacs from ITS to the <a href="/wiki/TENEX_(operating_system)" title="TENEX (operating system)">TENEX</a> and <a href="/wiki/TOPS-20" title="TOPS-20">TOPS-20</a> operating systems. Other contributors to early versions of Emacs include <a href="/wiki/Kent_Pitman" title="Kent Pitman">Kent Pitman</a>, <a href="/w/index.php?title=Earl_Killian_(engineer)&amp;action=edit&amp;redlink=1" class="new" title="Earl Killian (engineer) (page does not exist)">Earl Killian</a>, and <a href="/w/index.php?title=Eugene_Ciccarelli&amp;action=edit&amp;redlink=1" class="new" title="Eugene Ciccarelli (page does not exist)">Eugene Ciccarelli</a>. By 1979, Emacs was the main editor used in MIT's AI lab and its Laboratory for Computer Science.<sup id="cite_ref-26" class="reference"><a href="#cite_note-26"><span class="cite-bracket">&#91;</span>26<span class="cite-bracket">&#93;</span></a></sup> </p> <div class="mw-heading mw-heading2"><h2 id="Implementations">Implementations</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Emacs&amp;action=edit&amp;section=2" title="Edit section: Implementations"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <div class="mw-heading mw-heading3"><h3 id="Early_implementations">Early implementations</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Emacs&amp;action=edit&amp;section=3" title="Edit section: Early implementations"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <figure class="mw-default-size" typeof="mw:File/Thumb"><a href="/wiki/File:Screenshot-Zmacs.png" class="mw-file-description"><img src="//upload.wikimedia.org/wikipedia/commons/thumb/4/49/Screenshot-Zmacs.png/220px-Screenshot-Zmacs.png" decoding="async" width="220" height="186" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/4/49/Screenshot-Zmacs.png/330px-Screenshot-Zmacs.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/4/49/Screenshot-Zmacs.png/440px-Screenshot-Zmacs.png 2x" data-file-width="1024" data-file-height="864" /></a><figcaption><a href="/wiki/Zmacs" title="Zmacs">Zmacs</a>, an Emacs for <a href="/wiki/Lisp_machine" title="Lisp machine">Lisp machines</a>, an evolution of <a href="/wiki/EINE_and_ZWEI" title="EINE and ZWEI">EINE and ZWEI</a></figcaption></figure> <figure class="mw-default-size" typeof="mw:File/Thumb"><a href="/wiki/File:James_Gosling_2008.jpg" class="mw-file-description"><img src="//upload.wikimedia.org/wikipedia/commons/thumb/1/14/James_Gosling_2008.jpg/220px-James_Gosling_2008.jpg" decoding="async" width="220" height="221" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/1/14/James_Gosling_2008.jpg/330px-James_Gosling_2008.jpg 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/1/14/James_Gosling_2008.jpg/440px-James_Gosling_2008.jpg 2x" data-file-width="1460" data-file-height="1469" /></a><figcaption><a href="/wiki/James_Gosling" title="James Gosling">James Gosling</a> wrote an Emacs-like editor to run on <a href="/wiki/Unix" title="Unix">Unix</a> (<a href="/wiki/Gosling_Emacs" title="Gosling Emacs">Gosling Emacs</a>) in 1981</figcaption></figure> <p>In the following years, programmers wrote a variety of Emacs-like editors for other computer systems. These included <a href="/wiki/EINE" class="mw-redirect" title="EINE">EINE</a> (<i>EINE Is Not EMACS</i>) and <a href="/wiki/ZWEI" class="mw-redirect" title="ZWEI">ZWEI</a><sup id="cite_ref-27" class="reference"><a href="#cite_note-27"><span class="cite-bracket">&#91;</span>27<span class="cite-bracket">&#93;</span></a></sup> (<i>ZWEI Was EINE Initially</i>), which were written for the <a href="/wiki/Lisp_machine" title="Lisp machine">Lisp machine</a> by Mike McMahon and <a href="/wiki/Daniel_Weinreb" title="Daniel Weinreb">Daniel Weinreb</a>, and Sine (<i>Sine Is Not Eine</i>),<sup id="cite_ref-28" class="reference"><a href="#cite_note-28"><span class="cite-bracket">&#91;</span>28<span class="cite-bracket">&#93;</span></a></sup> which was written by Owen Theodore Anderson. Weinreb's <a href="/wiki/EINE" class="mw-redirect" title="EINE">EINE</a> was the first Emacs written in Lisp. In 1978, <a href="/wiki/Bernard_Greenberg" title="Bernard Greenberg">Bernard Greenberg</a> wrote <a href="/wiki/Multics_Emacs" title="Multics Emacs">Multics Emacs</a> almost entirely in Multics Lisp at <a href="/wiki/Honeywell" title="Honeywell">Honeywell</a>'s Cambridge Information Systems Lab. Multics Emacs was later maintained by <a href="/wiki/Richard_Soley" title="Richard Soley">Richard Soley</a>, 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. </p><p><a href="/wiki/James_Gosling" title="James Gosling">James Gosling</a>, who would later invent <a href="/wiki/NeWS" title="NeWS">NeWS</a> and the <a href="/wiki/Java_(programming_language)" title="Java (programming language)">Java programming language</a>, wrote <a href="/wiki/Gosling_Emacs" title="Gosling Emacs">Gosling Emacs</a> in 1981. The first Emacs-like editor to run on <a href="/wiki/Unix" title="Unix">Unix</a><sup class="noprint Inline-Template Template-Fact" style="white-space:nowrap;">&#91;<i><a href="/wiki/Wikipedia:Citation_needed" title="Wikipedia:Citation needed"><span title="This claim needs references to reliable sources. (November 2022)">citation needed</span></a></i>&#93;</sup>, Gosling Emacs was written in <a href="/wiki/C_(programming_language)" title="C (programming language)">C</a> and used <a href="/wiki/Mocklisp" class="mw-redirect" title="Mocklisp">Mocklisp</a>, a language with Lisp-like syntax, as an extension language. </p><p>Early Ads for <a href="/wiki/Computer_Corporation_of_America" title="Computer Corporation of America">Computer Corporation of America</a>'s <i>CCA EMACS</i> (Steve Zimmerman)<sup id="cite_ref-Emacs.BookCCA_29-0" class="reference"><a href="#cite_note-Emacs.BookCCA-29"><span class="cite-bracket">&#91;</span>29<span class="cite-bracket">&#93;</span></a></sup> appeared in 1984.<sup id="cite_ref-30" class="reference"><a href="#cite_note-30"><span class="cite-bracket">&#91;</span>30<span class="cite-bracket">&#93;</span></a></sup> 1985 comparisons to GNU Emacs, when it came out, mentioned free vs. $2,400.<sup id="cite_ref-31" class="reference"><a href="#cite_note-31"><span class="cite-bracket">&#91;</span>31<span class="cite-bracket">&#93;</span></a></sup><sup class="noprint Inline-Template" style="white-space:nowrap;">&#91;<i><a href="/wiki/Wikipedia:Verifiability" title="Wikipedia:Verifiability"><span title="linked document does not mention a price (January 2021)">irrelevant citation</span></a></i>&#93;</sup> </p> <div class="mw-heading mw-heading3"><h3 id="GNU_Emacs">GNU Emacs</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Emacs&amp;action=edit&amp;section=4" title="Edit section: GNU Emacs"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1236090951"><div role="note" class="hatnote navigation-not-searchable">Main article: <a href="/wiki/GNU_Emacs" title="GNU Emacs">GNU Emacs</a></div> <figure class="mw-default-size" typeof="mw:File/Thumb"><a href="/wiki/File:Emacs-linux-console.png" class="mw-file-description"><img src="//upload.wikimedia.org/wikipedia/commons/thumb/3/36/Emacs-linux-console.png/220px-Emacs-linux-console.png" decoding="async" width="220" height="138" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/3/36/Emacs-linux-console.png/330px-Emacs-linux-console.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/3/36/Emacs-linux-console.png/440px-Emacs-linux-console.png 2x" data-file-width="1280" data-file-height="800" /></a><figcaption><a href="/wiki/GNU_Emacs" title="GNU Emacs">GNU Emacs</a> running in a <a href="/wiki/Computer_terminal" title="Computer terminal">text console</a> </figcaption></figure> <figure class="mw-default-size" typeof="mw:File/Thumb"><a href="/wiki/File:GNU_Emacs_W32.png" class="mw-file-description"><img src="//upload.wikimedia.org/wikipedia/commons/thumb/2/24/GNU_Emacs_W32.png/220px-GNU_Emacs_W32.png" decoding="async" width="220" height="144" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/2/24/GNU_Emacs_W32.png/330px-GNU_Emacs_W32.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/2/24/GNU_Emacs_W32.png/440px-GNU_Emacs_W32.png 2x" data-file-width="1046" data-file-height="687" /></a><figcaption>GNU Emacs running on <a href="/wiki/Microsoft_Windows" title="Microsoft Windows">Microsoft Windows</a> </figcaption></figure> <p>Richard Stallman began work on GNU Emacs in 1984 to produce a <a href="/wiki/Free_software" title="Free software">free software</a> 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 <a href="/wiki/C_(programming_language)" title="C (programming language)">C</a> and provides <a href="/wiki/Emacs_Lisp" title="Emacs Lisp">Emacs Lisp</a>, 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 <i>1.x.x</i>, with the initial digit denoting the version of the C core. The <i>1</i> was dropped after version 1.12, as it was thought that the major number would never change, and thus the numbering skipped from <i>1</i> to <i>13</i>.<sup id="cite_ref-32" class="reference"><a href="#cite_note-32"><span class="cite-bracket">&#91;</span>32<span class="cite-bracket">&#93;</span></a></sup> In September 2014, it was announced on the GNU emacs-devel mailing list that GNU Emacs would adopt a <a href="/w/index.php?title=Rapid_release&amp;action=edit&amp;redlink=1" class="new" title="Rapid release (page does not exist)">rapid release</a> strategy and version numbers would increment more quickly in the future.<sup id="cite_ref-33" class="reference"><a href="#cite_note-33"><span class="cite-bracket">&#91;</span>33<span class="cite-bracket">&#93;</span></a></sup> </p><p>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 <i>de facto</i> Unix Emacs editor. <a href="/wiki/Markus_Hess" title="Markus Hess">Markus Hess</a> exploited a security flaw in GNU Emacs' email subsystem in his 1986 cracking spree in which he gained <a href="/wiki/Superuser" title="Superuser">superuser</a> access to Unix computers.<sup id="cite_ref-34" class="reference"><a href="#cite_note-34"><span class="cite-bracket">&#91;</span>34<span class="cite-bracket">&#93;</span></a></sup> </p><p>Most of GNU Emacs functionality is implemented through a <a href="/wiki/Scripting_language" title="Scripting language">scripting language</a> called <a href="/wiki/Emacs_Lisp" title="Emacs Lisp">Emacs Lisp</a>. Because about 70% of GNU Emacs is written in the Emacs Lisp extension language,<sup id="cite_ref-35" class="reference"><a href="#cite_note-35"><span class="cite-bracket">&#91;</span>35<span class="cite-bracket">&#93;</span></a></sup> 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. </p><p>GNU Emacs development was relatively closed until 1999 and was used as an example of the <i>Cathedral</i> development style in <i><a href="/wiki/The_Cathedral_and_the_Bazaar" title="The Cathedral and the Bazaar">The Cathedral and the Bazaar</a></i>. The project has since adopted a public development mailing list and anonymous <a href="/wiki/Concurrent_Versions_System" title="Concurrent Versions System">CVS</a> access. Development took place in a single CVS trunk until 2008 and was then switched to the Bazaar <a href="/wiki/Distributed_Version_Control_System" class="mw-redirect" title="Distributed Version Control System">DVCS</a>. On November 11, 2014, development was moved to <a href="/wiki/Git_(software)" class="mw-redirect" title="Git (software)">Git</a>.<sup id="cite_ref-36" class="reference"><a href="#cite_note-36"><span class="cite-bracket">&#91;</span>36<span class="cite-bracket">&#93;</span></a></sup> </p> <figure class="mw-default-size" typeof="mw:File/Thumb"><a href="/wiki/File:C_file_in_Emacs_27_with_the_modus-operandi_theme.png" class="mw-file-description"><img src="//upload.wikimedia.org/wikipedia/commons/thumb/2/2b/C_file_in_Emacs_27_with_the_modus-operandi_theme.png/220px-C_file_in_Emacs_27_with_the_modus-operandi_theme.png" decoding="async" width="220" height="169" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/2/2b/C_file_in_Emacs_27_with_the_modus-operandi_theme.png/330px-C_file_in_Emacs_27_with_the_modus-operandi_theme.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/2/2b/C_file_in_Emacs_27_with_the_modus-operandi_theme.png/440px-C_file_in_Emacs_27_with_the_modus-operandi_theme.png 2x" data-file-width="986" data-file-height="759" /></a><figcaption>C file in Emacs 27 with the modus-operandi theme</figcaption></figure> <p>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.<sup id="cite_ref-37" class="reference"><a href="#cite_note-37"><span class="cite-bracket">&#91;</span>37<span class="cite-bracket">&#93;</span></a></sup><sup id="cite_ref-38" class="reference"><a href="#cite_note-38"><span class="cite-bracket">&#91;</span>38<span class="cite-bracket">&#93;</span></a></sup> John Wiegley was named maintainer in 2015 after a meeting with Stallman at MIT.<sup id="cite_ref-39" class="reference"><a href="#cite_note-39"><span class="cite-bracket">&#91;</span>39<span class="cite-bracket">&#93;</span></a></sup> As of early 2014, GNU Emacs has had 579 individual <a href="/wiki/Commit_(revision_control)" class="mw-redirect" title="Commit (revision control)">committers</a> throughout its history.<sup id="cite_ref-40" class="reference"><a href="#cite_note-40"><span class="cite-bracket">&#91;</span>40<span class="cite-bracket">&#93;</span></a></sup> </p> <div class="mw-heading mw-heading3"><h3 id="XEmacs">XEmacs</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Emacs&amp;action=edit&amp;section=5" title="Edit section: XEmacs"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1236090951"><div role="note" class="hatnote navigation-not-searchable">Main article: <a href="/wiki/XEmacs" title="XEmacs">XEmacs</a></div> <figure class="mw-default-size" typeof="mw:File/Thumb"><a href="/wiki/File:Xemacs-21.5.b29.png" class="mw-file-description"><img src="//upload.wikimedia.org/wikipedia/commons/thumb/1/1a/Xemacs-21.5.b29.png/220px-Xemacs-21.5.b29.png" decoding="async" width="220" height="209" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/1/1a/Xemacs-21.5.b29.png/330px-Xemacs-21.5.b29.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/1/1a/Xemacs-21.5.b29.png/440px-Xemacs-21.5.b29.png 2x" data-file-width="785" data-file-height="744" /></a><figcaption><a href="/wiki/XEmacs" title="XEmacs">XEmacs</a> 21.5 on <a href="/wiki/Linux" title="Linux">Linux</a> </figcaption></figure> <p>Lucid Emacs, based on an early alpha version of GNU Emacs 19, was developed beginning in 1991 by <a href="/wiki/Jamie_Zawinski" title="Jamie Zawinski">Jamie Zawinski</a> and others at <a href="/wiki/Lucid_Inc." title="Lucid Inc.">Lucid Inc.</a> One of the best-known early forks in <a href="/wiki/Free_software" title="Free software">free software</a> 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.<sup id="cite_ref-41" class="reference"><a href="#cite_note-41"><span class="cite-bracket">&#91;</span>41<span class="cite-bracket">&#93;</span></a></sup> Lucid Emacs has since been renamed <a href="/wiki/XEmacs" title="XEmacs">XEmacs</a>. 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.<sup id="cite_ref-42" class="reference"><a href="#cite_note-42"><span class="cite-bracket">&#91;</span>42<span class="cite-bracket">&#93;</span></a></sup><sup class="noprint Inline-Template noprint noexcerpt Template-Fact" style="white-space:nowrap;">&#91;<i><a href="/wiki/Wikipedia:NOTRS" class="mw-redirect" title="Wikipedia:NOTRS"><span title="This claim needs references to better sources. (July 2019)">better&#160;source&#160;needed</span></a></i>&#93;</sup> </p> <div class="mw-heading mw-heading3"><h3 id="Other_forks_of_GNU_Emacs">Other forks of GNU Emacs</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Emacs&amp;action=edit&amp;section=6" title="Edit section: Other forks of GNU Emacs"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Other notable forks include: </p> <ul><li>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</li> <li><a href="/wiki/Meadow_(programming)" title="Meadow (programming)">Meadow</a> – a Japanese version for Microsoft Windows<sup id="cite_ref-43" class="reference"><a href="#cite_note-43"><span class="cite-bracket">&#91;</span>43<span class="cite-bracket">&#93;</span></a></sup></li></ul> <div class="mw-heading mw-heading3"><h3 id="Various_Emacs_editors">Various Emacs editors</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Emacs&amp;action=edit&amp;section=7" title="Edit section: Various Emacs editors"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <figure class="mw-default-size" typeof="mw:File/Thumb"><a href="/wiki/File:UEmacs-Pk_4.0.15_on_Linux.png" class="mw-file-description"><img src="//upload.wikimedia.org/wikipedia/commons/thumb/c/ce/UEmacs-Pk_4.0.15_on_Linux.png/220px-UEmacs-Pk_4.0.15_on_Linux.png" decoding="async" width="220" height="162" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/c/ce/UEmacs-Pk_4.0.15_on_Linux.png/330px-UEmacs-Pk_4.0.15_on_Linux.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/c/ce/UEmacs-Pk_4.0.15_on_Linux.png/440px-UEmacs-Pk_4.0.15_on_Linux.png 2x" data-file-width="852" data-file-height="626" /></a><figcaption><a href="/wiki/MicroEMACS" title="MicroEMACS">uEmacs/Pk</a> 4.0.15 on Linux</figcaption></figure> <figure class="mw-default-size" typeof="mw:File/Thumb"><a href="/wiki/File:OpenBSD_mg_Editor_Ruby_Goodbye_World.png" class="mw-file-description"><img src="//upload.wikimedia.org/wikipedia/commons/thumb/3/3c/OpenBSD_mg_Editor_Ruby_Goodbye_World.png/220px-OpenBSD_mg_Editor_Ruby_Goodbye_World.png" decoding="async" width="220" height="130" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/3/3c/OpenBSD_mg_Editor_Ruby_Goodbye_World.png/330px-OpenBSD_mg_Editor_Ruby_Goodbye_World.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/3/3c/OpenBSD_mg_Editor_Ruby_Goodbye_World.png/440px-OpenBSD_mg_Editor_Ruby_Goodbye_World.png 2x" data-file-width="730" data-file-height="430" /></a><figcaption>The <i><a href="/wiki/Mg_(text_editor)" title="Mg (text editor)">mg</a></i> tiny Emacs-like editor in <a href="/wiki/OpenBSD" title="OpenBSD">OpenBSD</a> 5.3. Editing <a href="/wiki/Ruby_(programming_language)" title="Ruby (programming language)">Ruby</a> <a href="/wiki/Source_code" title="Source code">source code</a></figcaption></figure> <figure class="mw-default-size" typeof="mw:File/Thumb"><a href="/wiki/File:Jove_Text_Editor_Screenshot.png" class="mw-file-description"><img src="//upload.wikimedia.org/wikipedia/commons/thumb/e/eb/Jove_Text_Editor_Screenshot.png/220px-Jove_Text_Editor_Screenshot.png" decoding="async" width="220" height="167" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/e/eb/Jove_Text_Editor_Screenshot.png/330px-Jove_Text_Editor_Screenshot.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/e/eb/Jove_Text_Editor_Screenshot.png/440px-Jove_Text_Editor_Screenshot.png 2x" data-file-width="1280" data-file-height="969" /></a><figcaption><a href="/wiki/JOVE" title="JOVE">JOVE</a> running in a <a href="/wiki/Debian" title="Debian">Debian</a> box</figcaption></figure> <p>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&#160;<a href="/wiki/Mebibyte" class="mw-redirect" title="Mebibyte">MiB</a> of RAM.<sup id="cite_ref-44" class="reference"><a href="#cite_note-44"><span class="cite-bracket">&#91;</span>44<span class="cite-bracket">&#93;</span></a></sup> Such computers were high end <a href="/wiki/Workstation" title="Workstation">workstations</a> and <a href="/wiki/Minicomputer" title="Minicomputer">minicomputers</a> in the 1980s, and this left a need for smaller reimplementations that would run on common <a href="/wiki/Personal_computer" title="Personal computer">personal computer</a> 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.<sup id="cite_ref-45" class="reference"><a href="#cite_note-45"><span class="cite-bracket">&#91;</span>45<span class="cite-bracket">&#93;</span></a></sup> </p><p>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: </p> <ul><li><a href="/wiki/MicroEMACS" title="MicroEMACS">MicroEMACS</a>, which was originally written by Dave Conroy and further developed by Daniel Lawrence and which exists in many variations.</li> <li><a href="/wiki/Mg_(text_editor)" title="Mg (text editor)">mg</a>, originally called MicroGNUEmacs and, later, mg2a, a public-domain offshoot of MicroEMACS intended to more closely resemble GNU Emacs. Now installed by default on <a href="/wiki/OpenBSD" title="OpenBSD">OpenBSD</a>.</li> <li><a href="/wiki/JOVE" title="JOVE">JOVE</a> (Jonathan's Own Version of Emacs), Jonathan Payne's non-programmable Emacs implementation for <a href="/wiki/UNIX-like" class="mw-redirect" title="UNIX-like">UNIX-like</a> systems.</li> <li><a href="/wiki/MINCE" title="MINCE">MINCE</a> (MINCE Is Not Complete Emacs), a version for <a href="/wiki/CP/M" title="CP/M">CP/M</a> and later DOS, from <a href="/wiki/Mark_of_the_Unicorn" title="Mark of the Unicorn">Mark of the Unicorn</a>. MINCE evolved into Final Word, which eventually became the Borland <a href="/wiki/Sprint_(word_processor)" title="Sprint (word processor)">Sprint</a> word processor.</li> <li><a href="/wiki/Perfect_Writer" title="Perfect Writer">Perfect Writer</a>, a <a href="/wiki/CP/M" title="CP/M">CP/M</a> 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 <a href="/wiki/WordStar" title="WordStar">WordStar</a>.</li> <li><a href="/wiki/Freemacs" title="Freemacs">Freemacs</a>, a <a href="/wiki/DOS" title="DOS">DOS</a> version that uses an extension language based on text macro expansion and fits within the original 64 <a href="/wiki/Kibibyte" class="mw-redirect" title="Kibibyte">KiB</a> flat memory limit.</li> <li><a href="/wiki/Zmacs" title="Zmacs">Zmacs</a>, for the MIT <a href="/wiki/Lisp_Machine" class="mw-redirect" title="Lisp Machine">Lisp Machine</a> and its descendants, implemented in <a href="/wiki/ZetaLisp" class="mw-redirect" title="ZetaLisp">ZetaLisp</a>.</li> <li><a href="/wiki/Epsilon_(text_editor)" title="Epsilon (text editor)">Epsilon</a>,<sup id="cite_ref-46" class="reference"><a href="#cite_note-46"><span class="cite-bracket">&#91;</span>46<span class="cite-bracket">&#93;</span></a></sup> an Emacs clone by Lugaru Software. Versions for DOS, Windows, Linux, FreeBSD, Mac OS X and OS/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.</li> <li><a href="/wiki/PceEmacs" class="mw-redirect" title="PceEmacs">PceEmacs</a> is the Emacs-based editor for <a href="/wiki/SWI-Prolog" title="SWI-Prolog">SWI-Prolog</a>.</li> <li><a href="/wiki/Hemlock_(text_editor)" title="Hemlock (text editor)">Hemlock</a>, originally written in <a href="/wiki/Spice_Lisp" title="Spice Lisp">Spice Lisp</a>, then <a href="/wiki/Common_Lisp" title="Common Lisp">Common Lisp</a>. A part of <a href="/wiki/CMU_Common_Lisp" title="CMU Common Lisp">CMU Common Lisp</a>. Influenced by <a href="/wiki/Zmacs" title="Zmacs">Zmacs</a>. Later forked by Lucid Common Lisp (as Helix), <a href="/wiki/LispWorks" title="LispWorks">LispWorks</a> and <a href="/wiki/Clozure_CL" title="Clozure CL">Clozure CL</a> projects. There is also a Portable Hemlock project, which aims to provide a Hemlock, which runs on several Common Lisp implementations.</li> <li><a href="/wiki/MIT/GNU_Scheme" title="MIT/GNU Scheme">edwin</a>, an Emacs-like text editor included with MIT/GNU Scheme.</li></ul> <div class="mw-heading mw-heading3"><h3 id="Editors_with_Emacs_emulation">Editors with Emacs emulation</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Emacs&amp;action=edit&amp;section=8" title="Edit section: Editors with Emacs emulation"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li>The <a href="/wiki/Cocoa_text_system" title="Cocoa text system">Cocoa text system</a> uses some of the same terminology and understands many Emacs navigation bindings. This is possible because the native UI uses the <a href="/wiki/Command_key" title="Command key">Command key</a> (equivalent to Super) instead of the <a href="/wiki/Control_key" title="Control key">Control key</a>.<sup id="cite_ref-47" class="reference"><a href="#cite_note-47"><span class="cite-bracket">&#91;</span>47<span class="cite-bracket">&#93;</span></a></sup></li> <li><a href="/wiki/Eclipse_(software)" title="Eclipse (software)">Eclipse (IDE)</a> provides a set of Emacs keybindings.</li> <li><a href="/wiki/Epsilon_(text_editor)" title="Epsilon (text editor)">Epsilon (text editor)</a> Defaults to Emacs emulation and supports a vi mode.</li> <li><a href="/wiki/GNOME_Builder" title="GNOME Builder">GNOME Builder</a> has an emulation mode for Emacs.</li> <li><a href="/wiki/GNU_Readline" title="GNU Readline">GNU Readline</a> is a <a href="/wiki/Line_editor" title="Line editor">line editor</a> that understands the standard Emacs navigation keybindings. It also has a <a href="/wiki/Vi_(text_editor)" title="Vi (text editor)">vi</a> emulation mode.</li> <li><a href="/wiki/IntelliJ_IDEA" title="IntelliJ IDEA">IntelliJ IDEA</a> provides a set of Emacs keybindings.</li> <li><a href="/wiki/JED_(text_editor)" title="JED (text editor)">JED</a> has an emulation mode for Emacs.</li> <li><a href="/wiki/Joe%27s_Own_Editor" title="Joe&#39;s Own Editor">Joe's Own Editor</a> emulates Emacs keybindings when invoked as <style data-mw-deduplicate="TemplateStyles:r886049734">.mw-parser-output .monospaced{font-family:monospace,monospace}</style><span class="monospaced">jmacs</span>.</li> <li><a href="/wiki/MATLAB" title="MATLAB">MATLAB</a> provides Emacs keybindings for its editor.<sup id="cite_ref-48" class="reference"><a href="#cite_note-48"><span class="cite-bracket">&#91;</span>48<span class="cite-bracket">&#93;</span></a></sup></li> <li><a href="/wiki/Multi-Edit" title="Multi-Edit">Multi-Edit</a> provides Emacs keybindings for its editor.</li> <li><a href="/wiki/KornShell" title="KornShell">KornShell</a> has an Emacs line editing mode that predates Gnu Readline.<sup id="cite_ref-49" class="reference"><a href="#cite_note-49"><span class="cite-bracket">&#91;</span>49<span class="cite-bracket">&#93;</span></a></sup></li> <li><a href="/wiki/Visual_Studio_Code" title="Visual Studio Code">Visual Studio Code</a> has multiple extensions available to emulate Emacs keybindings.</li> <li><a href="/wiki/Oracle_SQL_Developer" title="Oracle SQL Developer">Oracle SQL Developer</a> can save and load alternative keyboard-shortcut layouts. One of the built-in layouts provides Emacs-like keybindings, including using different commands to achieve closer behavior.</li></ul> <div class="mw-heading mw-heading2"><h2 id="Features">Features</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Emacs&amp;action=edit&amp;section=9" title="Edit section: Features"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Emacs is primarily a <a href="/wiki/Text_editor" title="Text editor">text editor</a> and is designed for manipulating pieces of text, although it is capable of formatting and printing documents like a <a href="/wiki/Word_processor" title="Word processor">word processor</a> by interfacing with external programs such as <a href="/wiki/LaTeX" title="LaTeX">LaTeX</a>, <a href="/wiki/Ghostscript" title="Ghostscript">Ghostscript</a> or a web browser. Emacs provides commands to manipulate and <a href="/wiki/Syntax_highlighting" title="Syntax highlighting">differentially display</a> <a href="/wiki/Semantic" class="mw-redirect" title="Semantic">semantic</a> units of text such as <a href="/wiki/Word_(linguistics)" class="mw-redirect" title="Word (linguistics)">words</a>, <a href="/wiki/Sentence_(linguistics)" title="Sentence (linguistics)">sentences</a>, <a href="/wiki/Paragraph" title="Paragraph">paragraphs</a> and <a href="/wiki/Source_code" title="Source code">source code</a> constructs such as <a href="/wiki/Function_(programming)" class="mw-redirect" title="Function (programming)">functions</a>. It also features <i>keyboard macros</i> for performing user-defined batches of editing commands. </p><p>GNU Emacs is a <i>real-time display</i> editor, as its edits are displayed onscreen as they occur. This is standard behavior for modern text editors but EMACS was among the earliest to implement this. The alternative is having to issue a distinct command to display text, (e.g. before or after modifying it). This was common in earlier (or merely simpler) line and context editors, such as <a href="/wiki/QED_(text_editor)" title="QED (text editor)">QED</a> (BTS, CTSS, Multics), <a href="/wiki/Ed_(text_editor)" class="mw-redirect" title="Ed (text editor)">ed</a> (Unix), ED (CP/M), and <a href="/wiki/Edlin" title="Edlin">Edlin</a> (DOS). </p> <div class="mw-heading mw-heading3"><h3 id="General_architecture">General architecture</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Emacs&amp;action=edit&amp;section=10" title="Edit section: General architecture"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Almost all of the functionality in Emacs, including basic editing operations such as the insertion of characters into a file, is achieved through <a href="/wiki/Function_(programming)" class="mw-redirect" title="Function (programming)">functions</a> written in a dialect of the <a href="/wiki/Lisp_programming_language" class="mw-redirect" title="Lisp programming language">Lisp programming language</a>. The dialect used in GNU Emacs is known as <a href="/wiki/Emacs_Lisp" title="Emacs Lisp">Emacs Lisp</a> (Elisp), and was developed expressly to port Emacs to <a href="/wiki/GNU" title="GNU">GNU</a> and <a href="/wiki/Unix" title="Unix">Unix</a>. The Emacs Lisp layer sits atop a stable core of basic services and platform abstraction written in the <a href="/wiki/C_programming_language" class="mw-redirect" title="C programming language">C programming language</a>, which enables GNU Emacs to be ported to a wide variety of operating systems and architectures without modifying the implementation semantics of the Lisp system where most of the editor lives. In this Lisp environment, <a href="/wiki/Variable_(programming)" class="mw-redirect" title="Variable (programming)">variables</a> and <a href="/wiki/Subroutine" class="mw-redirect" title="Subroutine">functions</a> can be modified with no need to rebuild or restart Emacs, with even newly redefined versions of core editor features being asynchronously compiled and loaded into the live environment to replace existing definitions. Modern GNU Emacs features both <a href="/wiki/Bytecode" title="Bytecode">bytecode</a> and <a href="/wiki/Native_code" class="mw-redirect" title="Native code">native code</a> compilation for Emacs Lisp. </p><p>All configuration is stored in variables, classes, and data structures, and changed by simply updating these live. The use of a Lisp dialect in this case is a key advantage, as Lisp syntax consists of so-called <a href="/wiki/S-expression" title="S-expression">symbolic expressions</a> (or sexprs), which can act as both evaluatable code expressions and as a <a href="/wiki/Serialization" title="Serialization">data serialisation format</a> akin to, but simpler and more general than, well known ones such as <a href="/wiki/XML" title="XML">XML</a>, <a href="/wiki/JSON" title="JSON">JSON</a>, and <a href="/wiki/YAML" title="YAML">YAML</a>. In this way there is little difference in practice between customising existing features and writing new ones, both of which are accomplished in the same basic way. This is operatively different from most modern extensible editors, for instance such as <a href="/wiki/Visual_Studio_Code" title="Visual Studio Code">VS Code</a>, in which separate languages are used to implement the interface and features of the editor and to encode its user-defined configuration and options. The goal of Emacs' open design is to transparently expose Emacs' internals to the Emacs user during normal use in the same way that they would be exposed to the Emacs developer working on the <a href="/wiki/Git" title="Git">git tree</a>, and to collapse as much as possible of the distinction between using Emacs and programming Emacs, while still providing a stable, practical, and responsive editing environment for novice users. </p> <div class="mw-heading mw-heading4"><h4 id="Interactive_data">Interactive data</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Emacs&amp;action=edit&amp;section=11" title="Edit section: Interactive data"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>The main text editing <a href="/wiki/Data_structure" title="Data structure">data structure</a> is the <i><a href="/wiki/Data_buffer" title="Data buffer">buffer</a></i>, a memory region containing data (usually text) with associated attributes. The most important of these are: </p> <ul><li>The <i>point</i>: the <a href="/wiki/Cursor_(user_interface)" title="Cursor (user interface)">editing cursor</a>;</li> <li>The <i>mark</i>: a settable location which, along with the point, enables selection of</li> <li>The <i>region</i>: a conceptually contiguous collection of text to which editing commands will be applied;</li> <li>The name and <a href="/wiki/Inode" title="Inode">inode</a> of the file the buffer is <i>visiting</i> (if any);</li> <li>The <i>default directory</i>, where any <a href="/wiki/Operating_System" class="mw-redirect" title="Operating System">OS</a>-level commands will be <a href="/wiki/Working_directory" title="Working directory">executed from</a> by default;</li> <li>The buffer's <i>mode</i>s, including a <i>major mode</i> possibly several <i>minor mode</i>s</li> <li>The <i>buffer encoding</i>, the method by which Emacs represents buffer data to the user;</li> <li>and a variety of <i>buffer local variable</i>s and Emacs Lisp state.</li></ul> <p><i>Modes</i>, in particular, are an important concept in Emacs, providing a mechanism to disaggregate Emacs' functionality into sets of behaviours and keybinds relevant to specific buffers' data. <i>Major modes</i> provide a general package of functions and commands relevant to a buffer's data and the way users might be interacting with it (e.g. editing source code in a specific language, <a href="/wiki/Hex_editor" title="Hex editor">editing hex</a>, viewing the filesystem, interacting with <a href="/wiki/Git" title="Git">git</a>, etc.), and <i>minor modes</i> define subsidiary collections of functionality applicable across many major modes (such as <code>auto-save-mode</code>). Minor modes can be toggled on or off both locally to each buffer as well as globally across all buffers, while major modes can only be toggled per-buffer. Any other data relevant to a buffer but not bundled into a mode can be handled by simply <a href="/wiki/Focus_(computing)" title="Focus (computing)">focussing</a> that buffer and live modifying the relevant data directly. </p><p>Any interaction with the editor (like key presses or clicking a mouse button) is realized by evaluating Emacs Lisp code, typically a <i>command</i>, which is a function explicitly designed for interactive use. Keys can be arbitrarily redefined and commands can also be accessed by name; some commands evaluate arbitrary Emacs Lisp code provided by the user in various ways (e.g. a family of <code>eval-</code> functions, operating on the <code>buffer</code>, <code>region</code>, or individual <code>expression</code>). Even the simplest user inputs (such a <a href="/wiki/ASCII#Printable_characters" title="ASCII">printable characters</a>) are effectuated as Emacs Lisp functions, such as the <code>self-insert-command</code> , bound by default to most keyboard keys in a typical text editing buffer, which parameterises itself with the <a href="/wiki/Locale_(computer_software)" title="Locale (computer software)">locale</a>-defined character associated with the key used to call it. </p><p>For example, pressing the <style data-mw-deduplicate="TemplateStyles:r1249182868">.mw-parser-output .keyboard-key{border:1px solid #aaa;border-radius:0.2em;box-shadow:0.1em 0.1em 0.2em rgba(0,0,0,0.1);background-color:var(--background-color-neutral-subtle,#f8f9fa);background-image:linear-gradient(to bottom,var(--background-color-neutral,#eaecf0),var(--background-color-neutral-subtle,#f8f9fa),var(--background-color-neutral,#eaecf0));color:var(--color-base,#202122);padding:0.1em 0.3em;font-family:inherit;font-size:0.85em}</style><kbd class="keyboard-key nowrap">f</kbd> key in a buffer that accepts text input evaluates the code <code class="mw-highlight mw-highlight-lang-elisp mw-content-ltr" style="" dir="ltr"><span class="p">(</span><span class="nf">self-insert-command</span><span class="w"> </span><span class="mi">1</span><span class="w"> </span><span class="sc">?f</span><span class="p">)</span></code>, which inserts one copy of the character constant <code>?f</code> <i>at point</i>. The <code>1</code>, in this case, is determined by what Emacs terms the <i>universal argument</i>: all Emacs command code accepts a numeric value which, in its simplest usage, indicates repetition of an action, but in more complex cases (where repetition doesn't make sense) can yield other behaviours. These arguments may be supplied via command prefices, such as <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1249182868"><kbd class="keyboard-key nowrap">Control</kbd>+<kbd class="keyboard-key nowrap">u</kbd> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1249182868"><kbd class="keyboard-key nowrap">7</kbd> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1249182868"><kbd class="keyboard-key nowrap">f</kbd>, or more compactly <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1249182868"><kbd class="keyboard-key nowrap">Meta</kbd>+<kbd class="keyboard-key nowrap">7</kbd> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1249182868"><kbd class="keyboard-key nowrap">f</kbd>, which expands to <code class="mw-highlight mw-highlight-lang-elisp mw-content-ltr" style="" dir="ltr"><span class="p">(</span><span class="nf">self-insert-command</span><span class="w"> </span><span class="mi">7</span><span class="w"> </span><span class="sc">?f</span><span class="p">)</span></code>. When no prefix is supplied, the universal argument is <code>1</code>: every command implicitly runs once, but may be called multiply, or in a different way, when supplied with such a prefix. Such arguments may also be non-positive where it makes sense for them to be so - it is up to the function accepting the argument to determine, according to its own semantics, what a given number means to it. One common usage is for functions to perform actions in reverse simply by checking the <a href="/wiki/Sign_(mathematics)" title="Sign (mathematics)">sign</a> of the universal argument, such as a sort command which sorts in obverse by default and in reverse when called with a negative argument, using the absolute value of its argument as the sorting key (e.g. <code>-7</code> sorting in reverse by column index (or delimiter) 7), or undo/redo, which are simply negatives of each other (traversing forward and backward through a recursive history of diffs by some number of steps at a time). </p> <div class="mw-heading mw-heading4"><h4 id="Command_language">Command language</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Emacs&amp;action=edit&amp;section=12" title="Edit section: Command language"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Because of its relatively large vocabulary of commands, Emacs features a long-established <i>command language</i>, to concisely express the keystrokes necessary to perform an action. This command language recognises the following shift and modifier keys: <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1249182868"><kbd class="keyboard-key nowrap">Ctrl</kbd>, <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1249182868"><kbd class="keyboard-key nowrap">Alt</kbd>, <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1249182868"><kbd class="keyboard-key nowrap">⇧ Shift</kbd>, <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1249182868"><kbd class="keyboard-key nowrap">Meta</kbd>, <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1249182868"><kbd class="keyboard-key nowrap">Super</kbd>, and <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1249182868"><kbd class="keyboard-key nowrap">Hyper</kbd>. Not all of these may be present on an IBM-style keyboard, though they can usually be configured as desired. These are represented in command language as the respective prefices: <code>C-</code>, <code>A-</code>, <code>S-</code>, <code>M-</code>, <code>s-</code>, and <code>H-</code>. Keys whose names are only printable with more than one character are enclosed in angle brackets. Thus, a keyboard shortcut such as <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1249182868"><kbd class="keyboard-key nowrap">Ctrl</kbd>+<kbd class="keyboard-key nowrap">Alt</kbd>+<kbd class="keyboard-key nowrap">⇧ Shift</kbd>+<kbd class="keyboard-key nowrap">F9</kbd> (check dependent formulas and calculate all cells in all open workbooks in <a href="/wiki/Microsoft_Excel" title="Microsoft Excel">Excel</a>) would be rendered in Emacs command language as <code>C-A-S-&lt;f9&gt;</code>, while an Emacs command like <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1249182868"><kbd class="keyboard-key nowrap">Meta</kbd>+<kbd class="keyboard-key nowrap">s</kbd> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1249182868"><kbd class="keyboard-key nowrap">f</kbd> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1249182868"><kbd class="keyboard-key nowrap">Ctrl</kbd>+<kbd class="keyboard-key nowrap">Meta</kbd>+<kbd class="keyboard-key nowrap">s</kbd> (incremental file search by filename-matching <a href="/wiki/Regular_expression" title="Regular expression">regexp</a>), would be expressed as <code>M-s f C-M-s</code>. Command language is also used to express the actions needed to invoke commands with no assigned shortcut: for example, the command <code>scratch-buffer</code> (which initialises a buffer in memory for temporary text storage and manipulation), when invoked by the user, will be reported back as <code>M-x scra &lt;return&gt;</code>, with Emacs scanning the namespace of contextually available commands to return the shortest sequence of keystrokes which uniquely lexicate it. </p> <div class="mw-heading mw-heading4"><h4 id="Dynamic_display">Dynamic display</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Emacs&amp;action=edit&amp;section=13" title="Edit section: Dynamic display"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Because Emacs predates modern standard terminology for <a href="/wiki/Graphical_user_interface" title="Graphical user interface">graphical user interfaces</a>, it uses somewhat divergent names for familiar interface elements. Buffers, the data that Emacs users interact with, are displayed to the user inside <i>windows</i>, which are <a href="/wiki/Split_screen_(computing)" title="Split screen (computing)">tiled portions</a> of the terminal screen or the GUI window, which Emacs refers to as <i>frames</i>; in modern terminology, an Emacs <i>frame</i> would be a window and an Emacs <i>window</i> would be a split. Depending on configuration, windows can include their own scroll bars, line numbers, sometimes a 'header line' typically to ease navigation, and a <i>mode line</i> at the bottom (usually displaying buffer name, the active modes and point position of the buffer among others). The bottom of every frame is used for output messages (then called 'echo area') and text input for commands (then called 'minibuffer'). </p><p>In general, Emacs display elements (windows, frames, etc.) do not belong to any specific data or process. Buffers are not associated with windows, and multiple windows can be opened onto the same buffer, for example to track different parts of a long text side-by-side without scrolling back and forth, and multiple buffers can share the same text, for example to take advantage of different major modes in a mixed-language file. Similarly, Emacs instances are not associated with particular frames, and multiple frames can be opened displaying a single running Emacs process, e.g. a frame per screen in a multi-monitor setup, or a terminal frame connected via <a href="/wiki/SSH" class="mw-redirect" title="SSH">ssh</a> from a remote system and a graphical frame displaying the same Emacs process via the local system's monitor. </p><p>Just as buffers don't require windows, running Emacs processes do not require any frames, and one common usage pattern is to deploy Emacs as an <i>editing server</i>: running it as a <a href="/wiki/Headless_software" title="Headless software">headless</a> <a href="/wiki/Daemon_(computing)" title="Daemon (computing)">daemon</a> and connecting to it via a frame-spawning client. This server can then be made available in any situation where an editor is required, simply by declaring the client program to be the user's <code>EDITOR</code> or <code>VISUAL</code> variable. Such a server continues to run in the background, managing any child processes, accumulating <a href="/wiki/Standard_streams#Standard_input_(stdin)" title="Standard streams">stdin</a> from open pipes, ports, or fifos, performing periodic or pre-programmed actions, and remembering buffer undo history, saved text snippets, command history, and other user state between editing sessions. In this mode of operation, Emacs overlaps the functionality of programs like <a href="/wiki/GNU_Screen" title="GNU Screen">screen</a> and <a href="/wiki/Tmux" title="Tmux">tmux</a>. </p><p>Because of its separation of display concerns from editing functionality, Emacs can display roughly similarly on any device more complex than a <a href="/wiki/Dumb_terminal" class="mw-redirect" title="Dumb terminal">dumb terminal</a>, including providing typical graphical <a href="/wiki/WIMP_(computing)" title="WIMP (computing)">WIMP</a> elements on sufficiently featureful text terminals - though graphical frames are the preferred mode of display, providing a strict superset of the features of text terminal frames. </p> <div class="mw-heading mw-heading3"><h3 id="Customizability_and_extensibility">Customizability and extensibility</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Emacs&amp;action=edit&amp;section=14" title="Edit section: Customizability and extensibility"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li>User actions can be recorded into macros and replayed to automate complex, repetitive tasks. This is often done on an ad-hoc basis, with each macro discarded after use, although macros can be saved and invoked later. <ul><li>Because of the uniformity of Emacs' features' definition in terms of Emacs Lisp, what counts as a "user action" for the purposes of macro-automation is flexible: macros may include, e.g., keypresses, commands, mouse clicks, other macros, and anything that can be effectuated via these. Macros can thus be recursive, and can be defined and invoked inside of macros.</li></ul></li> <li>At startup, Emacs executes an Emacs Lisp script named <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r886049734"><span class="monospaced">~/.emacs</span> (recent versions also look for <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r886049734"><span class="monospaced">~/emacs.el</span>, <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r886049734"><span class="monospaced">~/.emacs.d/init.el</span>, and <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r886049734"><span class="monospaced">~/.config/emacs/init.el</span>,<sup id="cite_ref-50" class="reference"><a href="#cite_note-50"><span class="cite-bracket">&#91;</span>50<span class="cite-bracket">&#93;</span></a></sup> as well as similar variations on <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r886049734"><span class="monospaced">~/.config/emacs/early-init.el</span>.<sup id="cite_ref-51" class="reference"><a href="#cite_note-51"><span class="cite-bracket">&#91;</span>51<span class="cite-bracket">&#93;</span></a></sup> Emacs reads <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r886049734"><span class="monospaced">early-init.el</span> first if it exists, and it can be used to configure or short-circuit core Emacs features before they load, such as the graphical display system or <a href="/wiki/Package_manager" title="Package manager">package manager</a>. It will then execute the first version <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r886049734"><span class="monospaced">.emacs</span> or <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r886049734"><span class="monospaced">init.el</span> that it finds, ignoring the rest. This personal customization file can be arbitrarily long and complex, but typical content includes: <ul><li>Setting global variables or invoking functions to customize Emacs behaviour, for example <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">(set-default-coding-systems &#39;utf-8)</code></li> <li><a href="/wiki/Keyboard_shortcut" title="Keyboard shortcut">Key bindings</a> to override standard ones and to add shortcuts for commands that the user finds convenient but don't have a key binding by default. Example: <code class="mw-highlight mw-highlight-lang-elisp mw-content-ltr" style="" dir="ltr"><span class="p">(</span><span class="nv">global-set-key</span><span class="w"> </span><span class="p">(</span><span class="nv">kbd</span><span class="w"> </span><span class="s">&quot;C-x C-b&quot;</span><span class="p">)</span><span class="w"> </span><span class="ss">&#39;ibuffer</span><span class="p">)</span></code></li> <li>Loading, enabling and initializing extensions (Emacs comes with many extensions, but only a few are loaded by default.)</li> <li>Configuring <i>event hooks</i> to run arbitrary code at specific times, for example to automatically recompile source code after saving a buffer (<code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">after-save-hook</code>)</li> <li>Executing arbitrary files, usually to split an overly long configuration file into manageable and homogeneous parts (<link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r886049734"><span class="monospaced">~/.emacs.d/</span> and <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r886049734"><span class="monospaced">~/elisp/</span> are traditional locations for these personal scripts)</li></ul></li> <li>The <i>customize</i> extension allows the user to set configuration properties such as the color scheme interactively, from within Emacs, in a more user-friendly way than by setting variables in <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r886049734"><span class="monospaced">.emacs</span>: it offers search, descriptions and help text, multiple choice inputs, reverting to defaults, modification of the running Emacs instance without reloading, and other conveniences similar to the <a href="/wiki/Preferences" class="mw-redirect" title="Preferences">preferences</a> functionality of other programs. The customized values are saved in <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r886049734"><span class="monospaced">.emacs</span> (or another designated file) automatically.</li> <li><i>Themes</i>, affecting the choice of fonts and colours, are defined as Emacs Lisp files and chosen through the customize extension.</li> <li><i>Modes</i>, which support editing a range of programming languages (e.g., emacs-lisp-mode, c-mode, java-mode, ESS for R) by changing fonts to highlight the code and keybindings modified (foreword-function vs. forward-page). Other modes include ones that support editing spreadsheets (dismal) and structured text.</li></ul> <div class="mw-heading mw-heading3"><h3 id="Self-documenting">Self-documenting</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Emacs&amp;action=edit&amp;section=15" title="Edit section: Self-documenting"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>The first Emacs contained a <i>help</i> library that included documentation for every command, variable and internal function. Because of this, Emacs proponents described the software as <i>self-documenting</i> in that it presents the user with information on its normal features and its current state. Each function includes a documentation string that is displayed to the user on request, a practice that subsequently spread to programming languages including <a href="/wiki/Lisp_programming_language" class="mw-redirect" title="Lisp programming language">Lisp</a>, <a href="/wiki/Java_(programming_language)" title="Java (programming language)">Java</a>, <a href="/wiki/Perl" title="Perl">Perl</a>, and <a href="/wiki/Python_(programming_language)" title="Python (programming language)">Python</a>. This help system can take users to the actual code for each function, whether from a built-in library or an added third-party library. </p><p>Emacs also has a built-in <a href="/wiki/Tutorial" title="Tutorial">tutorial</a>. Emacs displays instructions for performing simple editing commands and invoking the tutorial when it is launched with no file to edit. The tutorial is by Stuart Cracraft and Richard Stallman. </p> <div class="mw-heading mw-heading2"><h2 id="Culture">Culture</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Emacs&amp;action=edit&amp;section=16" title="Edit section: Culture"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <div class="mw-heading mw-heading3"><h3 id="Church_of_Emacs">Church of Emacs</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Emacs&amp;action=edit&amp;section=17" title="Edit section: Church of Emacs"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1236090951"><div role="note" class="hatnote navigation-not-searchable">Main article: <a href="/wiki/Editor_war" title="Editor war">Editor war</a></div><p>The <i>Church of Emacs</i>, formed by <a href="/wiki/Richard_Stallman" title="Richard Stallman">Richard Stallman</a>, is a <a href="/wiki/Parody_religion" title="Parody religion">parody religion</a> created for Emacs users.<sup id="cite_ref-52" class="reference"><a href="#cite_note-52"><span class="cite-bracket">&#91;</span>52<span class="cite-bracket">&#93;</span></a></sup> While it refers to <a href="/wiki/Vi_(text_editor)" title="Vi (text editor)">vi</a> as the <i>editor of the beast</i> (vi-vi-vi being <a href="/wiki/666_(number)" title="666 (number)">6-6-6</a> in Roman numerals), it does not oppose the use of vi; rather, it calls it <a href="/wiki/Proprietary_software" title="Proprietary software">proprietary software</a> <a href="/wiki/Anathema" title="Anathema">anathema</a>. ("Using a <a href="/wiki/Free_software" title="Free software">free</a> version of vi is not a sin but a <a href="/wiki/Penance" title="Penance">penance</a>."<sup id="cite_ref-53" class="reference"><a href="#cite_note-53"><span class="cite-bracket">&#91;</span>53<span class="cite-bracket">&#93;</span></a></sup>) The Church of Emacs has its own <a href="/wiki/Newsgroup" class="mw-redirect" title="Newsgroup">newsgroup</a>, <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r886049734"><span class="monospaced">alt.religion.emacs</span>,<sup id="cite_ref-54" class="reference"><a href="#cite_note-54"><span class="cite-bracket">&#91;</span>54<span class="cite-bracket">&#93;</span></a></sup> that has posts purporting to support this parody religion. Supporters of vi have created an opposing <i>Cult of vi</i>. </p><p>Stallman has jokingly referred to himself as <i>St I <a href="/wiki/GNU" title="GNU">GNU</a> cius</i>, a saint in the Church of Emacs.<sup id="cite_ref-55" class="reference"><a href="#cite_note-55"><span class="cite-bracket">&#91;</span>55<span class="cite-bracket">&#93;</span></a></sup> This is in reference to <a href="/wiki/Ignatius_of_Antioch" title="Ignatius of Antioch">Ignatius of Antioch</a>, an early Church father venerated in Christianity. </p> <div class="mw-heading mw-heading3"><h3 id="Terminology">Terminology</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Emacs&amp;action=edit&amp;section=18" title="Edit section: Terminology"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>The word <i>emacs</i> is sometimes pluralized as <i>emacsen</i>, by phonetic analogy with <a href="https://en.wiktionary.org/wiki/boxen" class="extiw" title="wikt:boxen">boxen</a> and <a href="/wiki/VAX" title="VAX">VAXen</a>, referring to different varieties of Emacs.<sup id="cite_ref-56" class="reference"><a href="#cite_note-56"><span class="cite-bracket">&#91;</span>56<span class="cite-bracket">&#93;</span></a></sup> </p> <div class="mw-heading mw-heading2"><h2 id="See_also">See also</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Emacs&amp;action=edit&amp;section=19" title="Edit section: See also"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <style data-mw-deduplicate="TemplateStyles:r1266661725">.mw-parser-output .portalbox{padding:0;margin:0.5em 0;display:table;box-sizing:border-box;max-width:175px;list-style:none}.mw-parser-output .portalborder{border:1px solid var(--border-color-base,#a2a9b1);padding:0.1em;background:var(--background-color-neutral-subtle,#f8f9fa)}.mw-parser-output .portalbox-entry{display:table-row;font-size:85%;line-height:110%;height:1.9em;font-style:italic;font-weight:bold}.mw-parser-output .portalbox-image{display:table-cell;padding:0.2em;vertical-align:middle;text-align:center}.mw-parser-output .portalbox-link{display:table-cell;padding:0.2em 0.2em 0.2em 0.3em;vertical-align:middle}@media(min-width:720px){.mw-parser-output .portalleft{margin:0.5em 1em 0.5em 0}.mw-parser-output .portalright{clear:right;float:right;margin:0.5em 0 0.5em 1em}}</style><ul role="navigation" aria-label="Portals" class="noprint portalbox portalborder portalright"> <li class="portalbox-entry"><span class="portalbox-image"><span class="noviewer" typeof="mw:File"><span><img alt="" src="//upload.wikimedia.org/wikipedia/commons/thumb/3/31/Free_and_open-source_software_logo_%282009%29.svg/28px-Free_and_open-source_software_logo_%282009%29.svg.png" decoding="async" width="28" height="28" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/3/31/Free_and_open-source_software_logo_%282009%29.svg/42px-Free_and_open-source_software_logo_%282009%29.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/3/31/Free_and_open-source_software_logo_%282009%29.svg/56px-Free_and_open-source_software_logo_%282009%29.svg.png 2x" data-file-width="512" data-file-height="512" /></span></span></span><span class="portalbox-link"><a href="/wiki/Portal:Free_and_open-source_software" title="Portal:Free and open-source software">Free and open-source software portal</a></span></li></ul> <ul><li><a href="/wiki/Comparison_of_text_editors" title="Comparison of text editors">Comparison of text editors</a></li> <li><a href="/wiki/Conkeror" title="Conkeror">Conkeror</a></li> <li><a href="/wiki/GNU_TeXmacs" title="GNU TeXmacs">GNU TeXmacs</a></li> <li><a href="/wiki/List_of_text_editors" title="List of text editors">List of text editors</a></li> <li><a href="/wiki/List_of_Unix_commands" class="mw-redirect" title="List of Unix commands">List of Unix commands</a></li> <li><a href="/wiki/Integrated_development_environment" title="Integrated development environment">Integrated development environment</a></li></ul> <div class="mw-heading mw-heading2"><h2 id="References">References</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Emacs&amp;action=edit&amp;section=20" title="Edit section: References"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <style data-mw-deduplicate="TemplateStyles:r1239543626">.mw-parser-output .reflist{margin-bottom:0.5em;list-style-type:decimal}@media screen{.mw-parser-output .reflist{font-size:90%}}.mw-parser-output .reflist .references{font-size:100%;margin-bottom:0;list-style-type:inherit}.mw-parser-output .reflist-columns-2{column-width:30em}.mw-parser-output .reflist-columns-3{column-width:25em}.mw-parser-output .reflist-columns{margin-top:0.3em}.mw-parser-output .reflist-columns ol{margin-top:0}.mw-parser-output .reflist-columns li{page-break-inside:avoid;break-inside:avoid-column}.mw-parser-output .reflist-upper-alpha{list-style-type:upper-alpha}.mw-parser-output .reflist-upper-roman{list-style-type:upper-roman}.mw-parser-output .reflist-lower-alpha{list-style-type:lower-alpha}.mw-parser-output .reflist-lower-greek{list-style-type:lower-greek}.mw-parser-output .reflist-lower-roman{list-style-type:lower-roman}</style><div class="reflist reflist-columns references-column-width" style="column-width: 30em;"> <ol class="references"> <li id="cite_note-Greenberg-1"><span class="mw-cite-backlink">^ <a href="#cite_ref-Greenberg_1-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-Greenberg_1-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><style data-mw-deduplicate="TemplateStyles:r1238218222">.mw-parser-output cite.citation{font-style:inherit;word-wrap:break-word}.mw-parser-output .citation q{quotes:"\"""\"""'""'"}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}.mw-parser-output .id-lock-free.id-lock-free a{background:url("//upload.wikimedia.org/wikipedia/commons/6/65/Lock-green.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-limited.id-lock-limited a,.mw-parser-output .id-lock-registration.id-lock-registration a{background:url("//upload.wikimedia.org/wikipedia/commons/d/d6/Lock-gray-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-subscription.id-lock-subscription a{background:url("//upload.wikimedia.org/wikipedia/commons/a/aa/Lock-red-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .cs1-ws-icon a{background:url("//upload.wikimedia.org/wikipedia/commons/4/4c/Wikisource-logo.svg")right 0.1em center/12px no-repeat}body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-free a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-limited a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-registration a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-subscription a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .cs1-ws-icon a{background-size:contain;padding:0 1em 0 0}.mw-parser-output .cs1-code{color:inherit;background:inherit;border:none;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;color:var(--color-error,#d33)}.mw-parser-output .cs1-visible-error{color:var(--color-error,#d33)}.mw-parser-output .cs1-maint{display:none;color:#085;margin-left:0.3em}.mw-parser-output .cs1-kern-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right{padding-right:0.2em}.mw-parser-output .citation .mw-selflink{font-weight:inherit}@media screen{.mw-parser-output .cs1-format{font-size:95%}html.skin-theme-clientpref-night .mw-parser-output .cs1-maint{color:#18911f}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .cs1-maint{color:#18911f}}</style><cite id="CITEREFGreenberg1979" class="citation book cs1">Greenberg, Bernard S. (1979). <a rel="nofollow" class="external text" href="http://www.multicians.org/mepap.html"><i>Multics Emacs: The History, Design and Implementation</i></a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=Multics+Emacs%3A+The+History%2C+Design+and+Implementation&amp;rft.date=1979&amp;rft.aulast=Greenberg&amp;rft.aufirst=Bernard+S.&amp;rft_id=http%3A%2F%2Fwww.multicians.org%2Fmepap.html&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AEmacs" class="Z3988"></span></span> </li> <li id="cite_note-Gnu_Emacs_FAQ-2"><span class="mw-cite-backlink">^ <a href="#cite_ref-Gnu_Emacs_FAQ_2-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-Gnu_Emacs_FAQ_2-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-Gnu_Emacs_FAQ_2-2"><sup><i><b>c</b></i></sup></a></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.gnu.org/software/emacs/emacs-faq.html#Origin-of-the-term-Emacs">"GNU Emacs FAQ"</a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=GNU+Emacs+FAQ&amp;rft_id=https%3A%2F%2Fwww.gnu.org%2Fsoftware%2Femacs%2Femacs-faq.html%23Origin-of-the-term-Emacs&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AEmacs" class="Z3988"></span></span> </li> <li id="cite_note-MACSimizing_TECO-3"><span class="mw-cite-backlink">^ <a href="#cite_ref-MACSimizing_TECO_3-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-MACSimizing_TECO_3-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-MACSimizing_TECO_3-2"><sup><i><b>c</b></i></sup></a> <a href="#cite_ref-MACSimizing_TECO_3-3"><sup><i><b>d</b></i></sup></a></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFAdrienne_G._Thompson" class="citation web cs1">Adrienne G. Thompson. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20131024150047/http://www.codeartnow.com/hacker-art-1/macsimizing-teco">"MACSimizing TECO"</a>. Archived from <a rel="nofollow" class="external text" href="http://www.codeartnow.com/hacker-art-1/macsimizing-teco">the original</a> on 2013-10-24<span class="reference-accessdate">. Retrieved <span class="nowrap">2012-02-26</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=MACSimizing+TECO&amp;rft.au=Adrienne+G.+Thompson&amp;rft_id=http%3A%2F%2Fwww.codeartnow.com%2Fhacker-art-1%2Fmacsimizing-teco&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AEmacs" class="Z3988"></span></span> </li> <li id="cite_note-4"><span class="mw-cite-backlink"><b><a href="#cite_ref-4">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://www2.lib.uchicago.edu/keith/tcl-course/emacs-tutorial.html">"A Tutorial Introduction to GNU Emacs"</a>. <q>For an editor to be called "emacs" the main requirement is that it be fully extensible with a real programming language, not just a macro language.</q></cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=A+Tutorial+Introduction+to+GNU+Emacs&amp;rft_id=http%3A%2F%2Fwww2.lib.uchicago.edu%2Fkeith%2Ftcl-course%2Femacs-tutorial.html&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AEmacs" class="Z3988"></span></span> </li> <li id="cite_note-5"><span class="mw-cite-backlink"><b><a href="#cite_ref-5">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://ebooks-it.org/1565924967-ebook.htm">"GNU Emacs Pocket Reference"</a>. <q>GNU Emacs is the most popular and widespread of the Emacs family of editors.</q></cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=GNU+Emacs+Pocket+Reference&amp;rft_id=https%3A%2F%2Febooks-it.org%2F1565924967-ebook.htm&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AEmacs" class="Z3988"></span></span> </li> <li id="cite_note-6"><span class="mw-cite-backlink"><b><a href="#cite_ref-6">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.gnu.org/software/emacs/manual/html_node/emacs/index.html">"GNU Emacs Manual"</a>. FSF<span class="reference-accessdate">. Retrieved <span class="nowrap">24 November</span> 2012</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=GNU+Emacs+Manual&amp;rft.pub=FSF&amp;rft_id=https%3A%2F%2Fwww.gnu.org%2Fsoftware%2Femacs%2Fmanual%2Fhtml_node%2Femacs%2Findex.html&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AEmacs" class="Z3988"></span></span> </li> <li id="cite_note-7"><span class="mw-cite-backlink"><b><a href="#cite_ref-7">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFZawinski2007" class="citation web cs1">Zawinski, Jamie (2007-10-29). <a rel="nofollow" class="external text" href="https://www.jwz.org/doc/emacs-timeline.html">"Emacs Timeline"</a>. <i>www.jwz.org</i><span class="reference-accessdate">. Retrieved <span class="nowrap">2023-07-31</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=www.jwz.org&amp;rft.atitle=Emacs+Timeline&amp;rft.date=2007-10-29&amp;rft.aulast=Zawinski&amp;rft.aufirst=Jamie&amp;rft_id=https%3A%2F%2Fwww.jwz.org%2Fdoc%2Femacs-timeline.html&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AEmacs" class="Z3988"></span></span> </li> <li id="cite_note-8"><span class="mw-cite-backlink"><b><a href="#cite_ref-8">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://onlisp.co.uk/On-the-Origin-of-Emacs-in-1976.html">"On the Origin of Emacs in 1976 (Emacs blog articles)"</a>. <i>onlisp.co.uk</i><span class="reference-accessdate">. Retrieved <span class="nowrap">2024-07-24</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=onlisp.co.uk&amp;rft.atitle=On+the+Origin+of+Emacs+in+1976+%28Emacs+blog+articles%29&amp;rft_id=https%3A%2F%2Fonlisp.co.uk%2FOn-the-Origin-of-Emacs-in-1976.html&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AEmacs" class="Z3988"></span></span> </li> <li id="cite_note-wikidata-7d4c2b2092cb944b3a0a41b985d72cb5868baa4a-v18-9"><span class="mw-cite-backlink"><b><a href="#cite_ref-wikidata-7d4c2b2092cb944b3a0a41b985d72cb5868baa4a-v18_9-0">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://lists.gnu.org/archive/html/emacs-devel/2025-02/msg00997.html">"Emacs 30.1 released"</a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=Emacs+30.1+released&amp;rft_id=https%3A%2F%2Flists.gnu.org%2Farchive%2Fhtml%2Femacs-devel%2F2025-02%2Fmsg00997.html&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AEmacs" class="Z3988"></span></span> </li> <li id="cite_note-10"><span class="mw-cite-backlink"><b><a href="#cite_ref-10">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.gnu.org/software/tramp/">"Tramp User Manual"</a>. <a href="/wiki/Free_Software_Foundation" title="Free Software Foundation">Free Software Foundation</a><span class="reference-accessdate">. Retrieved <span class="nowrap">2009-04-04</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=Tramp+User+Manual&amp;rft.pub=Free+Software+Foundation&amp;rft_id=https%3A%2F%2Fwww.gnu.org%2Fsoftware%2Ftramp%2F&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AEmacs" class="Z3988"></span></span> </li> <li id="cite_note-11"><span class="mw-cite-backlink"><b><a href="#cite_ref-11">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://nullprogram.com/blog/2013/09/04/">"Introducing Elfeed, an Emacs Web Feed Reader"</a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=Introducing+Elfeed%2C+an+Emacs+Web+Feed+Reader&amp;rft_id=http%3A%2F%2Fnullprogram.com%2Fblog%2F2013%2F09%2F04%2F&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AEmacs" class="Z3988"></span></span> </li> <li id="cite_note-12"><span class="mw-cite-backlink"><b><a href="#cite_ref-12">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://code.librehq.com/qhong/crdt.el">"Collaborative editing using Conflict-free Replicated Data Types"</a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=Collaborative+editing+using+Conflict-free+Replicated+Data+Types&amp;rft_id=https%3A%2F%2Fcode.librehq.com%2Fqhong%2Fcrdt.el&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AEmacs" class="Z3988"></span></span> </li> <li id="cite_note-13"><span class="mw-cite-backlink"><b><a href="#cite_ref-13">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.gnu.org/software/emacs/manual/html_node/emacs/Amusements.html">"Amusements"</a>. <q>Finally, if you find yourself frustrated, try describing your problems to the famous psychotherapist Eliza. Just do M-x doctor.</q></cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=Amusements&amp;rft_id=https%3A%2F%2Fwww.gnu.org%2Fsoftware%2Femacs%2Fmanual%2Fhtml_node%2Femacs%2FAmusements.html&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AEmacs" class="Z3988"></span></span> </li> <li id="cite_note-jwz_timeline-14"><span class="mw-cite-backlink"><b><a href="#cite_ref-jwz_timeline_14-0">^</a></b></span> <span class="reference-text"> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFZawinski2005" class="citation web cs1"><a href="/wiki/Jamie_Zawinski" title="Jamie Zawinski">Zawinski, Jamie</a> (2005-06-21) [1999]. <a rel="nofollow" class="external text" href="https://www.jwz.org/doc/emacs-timeline.html">"Emacs Timeline"</a><span class="reference-accessdate">. Retrieved <span class="nowrap">11 August</span> 2015</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=Emacs+Timeline&amp;rft.date=2005-06-21&amp;rft.aulast=Zawinski&amp;rft.aufirst=Jamie&amp;rft_id=http%3A%2F%2Fwww.jwz.org%2Fdoc%2Femacs-timeline.html&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AEmacs" class="Z3988"></span></span> </li> <li id="cite_note-15"><span class="mw-cite-backlink"><b><a href="#cite_ref-15">^</a></b></span> <span class="reference-text"><a href="/wiki/Richard_Stallman" title="Richard Stallman">Richard Stallman</a> is often credited as another co-creator, but as <a href="/wiki/Daniel_Weinreb" title="Daniel Weinreb">Daniel Weinreb</a> wrote, "The original (TECO-based) Emacs was created and designed by Guy L. Steele Jr. and David Moon. After they had it working, and it had become established as the standard text editor at the AI lab, Stallman took over its maintenance." Moon himself responded "All true, so far as I can remember. But in all fairness I have to say that Stallman greatly improved Emacs after he “liberated” it from Guy and me." See <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFWeinreb2007" class="citation cs2 cs1-prop-unfit"><a href="/wiki/Daniel_Weinreb" title="Daniel Weinreb">Weinreb, Dan</a> (November 11, 2007), <a rel="nofollow" class="external text" href="https://web.archive.org/web/20090101103828/http://danweinreb.org/blog/rebuttal-to-stallmans-story-about-the-formation-of-symbolics-and-lmi">"Rebuttal to Stallman's Story About The Formation of Symbolics and LMI"</a>, <i>Dan Weinreb's blog: software and innovation</i>, archived from the original on January 1, 2009</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=article&amp;rft.jtitle=Dan+Weinreb%27s+blog%3A+software+and+innovation&amp;rft.atitle=Rebuttal+to+Stallman%27s+Story+About+The+Formation+of+Symbolics+and+LMI&amp;rft.date=2007-11-11&amp;rft.aulast=Weinreb&amp;rft.aufirst=Dan&amp;rft_id=http%3A%2F%2Fdanweinreb.org%2Fblog%2Frebuttal-to-stallmans-story-about-the-formation-of-symbolics-and-lmi&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AEmacs" class="Z3988"></span>.</span> </li> <li id="cite_note-16"><span class="mw-cite-backlink"><b><a href="#cite_ref-16">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://www.xemacs.org/Documentation/21.5/html/internals_3.html">"A history of Emacs"</a>. <i>XEmacs Internals Manual</i>. 2006-12-11<span class="reference-accessdate">. Retrieved <span class="nowrap">2007-08-22</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=XEmacs+Internals+Manual&amp;rft.atitle=A+history+of+Emacs&amp;rft.date=2006-12-11&amp;rft_id=http%3A%2F%2Fwww.xemacs.org%2FDocumentation%2F21.5%2Fhtml%2Finternals_3.html&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AEmacs" class="Z3988"></span></span> </li> <li id="cite_note-17"><span class="mw-cite-backlink"><b><a href="#cite_ref-17">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFAllombert" class="citation web cs1">Allombert, Bill. <a rel="nofollow" class="external text" href="http://popcon.debian.org/main/editors/by_vote">"Debian Popularity Contest"</a>. <i>Editors report</i>. Debian<span class="reference-accessdate">. Retrieved <span class="nowrap">22 November</span> 2011</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=Editors+report&amp;rft.atitle=Debian+Popularity+Contest&amp;rft.aulast=Allombert&amp;rft.aufirst=Bill&amp;rft_id=http%3A%2F%2Fpopcon.debian.org%2Fmain%2Feditors%2Fby_vote&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AEmacs" class="Z3988"></span></span> </li> <li id="cite_note-18"><span class="mw-cite-backlink"><b><a href="#cite_ref-18">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.zdnet.com/article/the-10-oldest-significant-open-source-programs/">"The 10 oldest, significant open-source programs"</a>. <i><a href="/wiki/ZDNet" class="mw-redirect" title="ZDNet">ZDNet</a></i>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=ZDNet&amp;rft.atitle=The+10+oldest%2C+significant+open-source+programs&amp;rft_id=https%3A%2F%2Fwww.zdnet.com%2Farticle%2Fthe-10-oldest-significant-open-source-programs%2F&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AEmacs" class="Z3988"></span></span> </li> <li id="cite_note-isbn1-56592-152-6-19"><span class="mw-cite-backlink"><b><a href="#cite_ref-isbn1-56592-152-6_19-0">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFRaymond,_Eric_S.Cameron,_DebraRosenblatt,_Bill1996" class="citation book cs1">Raymond, Eric S.; Cameron, Debra; Rosenblatt, Bill (1996). <a rel="nofollow" class="external text" href="https://books.google.com/books?id=a_lea3-w-1kC&amp;q=bucky+keyboard&amp;pg=PA408"><i>Learning GNU Emacs, 2nd Edition</i></a>. Sebastopol, CA: O'Reilly. pp.&#160;<span class="nowrap">408–</span>409. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/1-56592-152-6" title="Special:BookSources/1-56592-152-6"><bdi>1-56592-152-6</bdi></a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=Learning+GNU+Emacs%2C+2nd+Edition&amp;rft.place=Sebastopol%2C+CA&amp;rft.pages=%3Cspan+class%3D%22nowrap%22%3E408-%3C%2Fspan%3E409&amp;rft.pub=O%27Reilly&amp;rft.date=1996&amp;rft.isbn=1-56592-152-6&amp;rft.au=Raymond%2C+Eric+S.&amp;rft.au=Cameron%2C+Debra&amp;rft.au=Rosenblatt%2C+Bill&amp;rft_id=https%3A%2F%2Fbooks.google.com%2Fbooks%3Fid%3Da_lea3-w-1kC%26q%3Dbucky%2Bkeyboard%26pg%3DPA408&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AEmacs" class="Z3988"></span></span> </li> <li id="cite_note-20"><span class="mw-cite-backlink"><b><a href="#cite_ref-20">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFWilliams2002" class="citation book cs1"><a href="/wiki/Sam_Williams_(journalist)" title="Sam Williams (journalist)">Williams, Sam</a> (2002). <a rel="nofollow" class="external text" href="https://books.google.com/books?id=ou2fOwhqAD8C&amp;pg=PA82"><i>Free as in Freedom: Richard Stallman's Crusade for Free Software</i></a>. Sebastopol, CA: O'Reilly Media. p.&#160;82. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/0-596-00287-4" title="Special:BookSources/0-596-00287-4"><bdi>0-596-00287-4</bdi></a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=Free+as+in+Freedom%3A+Richard+Stallman%27s+Crusade+for+Free+Software&amp;rft.place=Sebastopol%2C+CA&amp;rft.pages=82&amp;rft.pub=O%27Reilly+Media&amp;rft.date=2002&amp;rft.isbn=0-596-00287-4&amp;rft.aulast=Williams&amp;rft.aufirst=Sam&amp;rft_id=https%3A%2F%2Fbooks.google.com%2Fbooks%3Fid%3Dou2fOwhqAD8C%26pg%3DPA82&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AEmacs" class="Z3988"></span></span> </li> <li id="cite_note-21"><span class="mw-cite-backlink"><b><a href="#cite_ref-21">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFArthur_Samuel1980" class="citation web cs1">Arthur Samuel (March 1980). <a rel="nofollow" class="external text" href="http://i.stanford.edu/pub/cstr/reports/cs/tr/80/796/CS-TR-80-796.pdf">"Essential E"</a> <span class="cs1-format">(PDF)</span><span class="reference-accessdate">. Retrieved <span class="nowrap">2020-04-19</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=Essential+E&amp;rft.date=1980-03&amp;rft.au=Arthur+Samuel&amp;rft_id=http%3A%2F%2Fi.stanford.edu%2Fpub%2Fcstr%2Freports%2Fcs%2Ftr%2F80%2F796%2FCS-TR-80-796.pdf&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AEmacs" class="Z3988"></span></span> </li> <li id="cite_note-22"><span class="mw-cite-backlink"><b><a href="#cite_ref-22">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20141126181620/http://archive09.linux.com/feature/19661">"EMACS vs. vi: The endless geek 'holy war'<span class="cs1-kern-right"></span>"</a>. Archived from <a rel="nofollow" class="external text" href="http://archive09.linux.com/feature/19661">the original</a> on 2014-11-26<span class="reference-accessdate">. Retrieved <span class="nowrap">2014-05-30</span></span>. <q><span class="cs1-kern-left"></span>"EMACS as such actually started out as a standards project," emails Guy Steele</q></cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=EMACS+vs.+vi%3A+The+endless+geek+%27holy+war%27&amp;rft_id=http%3A%2F%2Farchive09.linux.com%2Ffeature%2F19661&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AEmacs" class="Z3988"></span></span> </li> <li id="cite_note-23"><span class="mw-cite-backlink"><b><a href="#cite_ref-23">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFStallman1987" class="citation news cs1"><a href="/wiki/Richard_Stallman" title="Richard Stallman">Stallman, Richard M.</a> (1987). <a rel="nofollow" class="external text" href="http://www.lysator.liu.se/history/garb/txt/87-1-emacs.txt">"The EMACS Full-Screen Editor"</a>. <i>GARB</i>. No.&#160;Maj 1987. Lysator, Linköping University. pp.&#160;<span class="nowrap">8–</span>11<span class="reference-accessdate">. Retrieved <span class="nowrap">2007-09-14</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=article&amp;rft.jtitle=GARB&amp;rft.atitle=The+EMACS+Full-Screen+Editor&amp;rft.issue=Maj+1987&amp;rft.pages=%3Cspan+class%3D%22nowrap%22%3E8-%3C%2Fspan%3E11&amp;rft.date=1987&amp;rft.aulast=Stallman&amp;rft.aufirst=Richard+M.&amp;rft_id=http%3A%2F%2Fwww.lysator.liu.se%2Fhistory%2Fgarb%2Ftxt%2F87-1-emacs.txt&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AEmacs" class="Z3988"></span></span> </li> <li id="cite_note-24"><span class="mw-cite-backlink"><b><a href="#cite_ref-24">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFReynolds1992" class="citation web cs1">Reynolds, Craig (1992-02-10). Wiseman, David G. (ed.). <a rel="nofollow" class="external text" href="https://web.archive.org/web/20030116151636/http://www.csd.uwo.ca/staff/magi/personal/humour/Computer_Folklore/The%20Emac%20Bolio%20Name%20Koan.html">"The Emac Bolio Name Koan"</a>. <i>David G. Wiseman: Stories of Computer Folklore</i>. Archived from <a rel="nofollow" class="external text" href="http://www.csd.uwo.ca/staff/magi/personal/humour/Computer_Folklore/The%20Emac%20Bolio%20Name%20Koan.html">the original</a> on January 16, 2003. <q>A cocky novice once said to Stallman: 'I can guess why the editor is called Emacs, but why is the justifier called Bolio?'. Stallman replied forcefully, Names are but names, Emack &amp; Bolio's is the name of a popular ice cream shop in Boston town. Neither of these men had anything to do with the software.' His question answered, yet unanswered, the novice turned to go, but Stallman called to him, 'Neither Emacs nor Bolio had anything to do with the ice cream shop, either.'<span class="cs1-kern-right"></span></q></cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=David+G.+Wiseman%3A+Stories+of+Computer+Folklore&amp;rft.atitle=The+Emac+Bolio+Name+Koan&amp;rft.date=1992-02-10&amp;rft.aulast=Reynolds&amp;rft.aufirst=Craig&amp;rft_id=http%3A%2F%2Fwww.csd.uwo.ca%2Fstaff%2Fmagi%2Fpersonal%2Fhumour%2FComputer_Folklore%2FThe%2520Emac%2520Bolio%2520Name%2520Koan.html&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AEmacs" class="Z3988"></span></span> </li> <li id="cite_note-519a-25"><span class="mw-cite-backlink">^ <a href="#cite_ref-519a_25-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-519a_25-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFStallman1981" class="citation techreport cs1">Stallman, Richard (March 26, 1981). <a rel="nofollow" class="external text" href="http://dspace.mit.edu/bitstream/handle/1721.1/5736/AIM-519A.pdf"><i>EMACS: The Extensible, Customizable, Self-Documenting, Display Editor</i></a> <span class="cs1-format">(PDF)</span> (Technical report). MIT AI Lab. AI Memo 519a<span class="reference-accessdate">. Retrieved <span class="nowrap">2011-01-07</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=report&amp;rft.btitle=EMACS%3A+The+Extensible%2C+Customizable%2C+Self-Documenting%2C+Display+Editor&amp;rft.pub=MIT+AI+Lab&amp;rft.date=1981-03-26&amp;rft.aulast=Stallman&amp;rft.aufirst=Richard&amp;rft_id=http%3A%2F%2Fdspace.mit.edu%2Fbitstream%2Fhandle%2F1721.1%2F5736%2FAIM-519A.pdf&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AEmacs" class="Z3988"></span></span> </li> <li id="cite_note-26"><span class="mw-cite-backlink"><b><a href="#cite_ref-26">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFLeigh_Klotz2007" class="citation news cs1">Leigh Klotz (2007-08-29). <a rel="nofollow" class="external text" href="http://pogue.blogs.nytimes.com/2007/08/29/be-careful-what-you-joke-about/">"email quoted in "Be Careful What You Joke About"<span class="cs1-kern-right"></span>"</a>. <i>The New York Times</i><span class="reference-accessdate">. Retrieved <span class="nowrap">2010-05-01</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=article&amp;rft.jtitle=The+New+York+Times&amp;rft.atitle=email+quoted+in+%22Be+Careful+What+You+Joke+About%22&amp;rft.date=2007-08-29&amp;rft.au=Leigh+Klotz&amp;rft_id=http%3A%2F%2Fpogue.blogs.nytimes.com%2F2007%2F08%2F29%2Fbe-careful-what-you-joke-about%2F&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AEmacs" class="Z3988"></span></span> </li> <li id="cite_note-27"><span class="mw-cite-backlink"><b><a href="#cite_ref-27">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://steve-yegge.blogspot.be/2008/04/xemacs-is-dead-long-live-xemacs.html#c8187829185600860534">"Comment by ZWEI's author Dan Weinreb"</a>. <q>I wrote the second Emacs ever: the Lisp machine implementation, whose spec was "do what Stallman's PDP-10 (original) Emacs does", and then progressed from there. There's just a whole LOT of it. It took me and Mike McMahon endless hours to implement so many commands to make ZWEI/Zmacs.</q></cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=Comment+by+ZWEI%27s+author+Dan+Weinreb&amp;rft_id=http%3A%2F%2Fsteve-yegge.blogspot.be%2F2008%2F04%2Fxemacs-is-dead-long-live-xemacs.html%23c8187829185600860534&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AEmacs" class="Z3988"></span></span> </li> <li id="cite_note-28"><span class="mw-cite-backlink"><b><a href="#cite_ref-28">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFOwen_Theodore_Anderson1979" class="citation web cs1">Owen Theodore Anderson (January 1979). <a rel="nofollow" class="external text" href="http://dspace.mit.edu/bitstream/handle/1721.1/16038/07332831.pdf?sequence=1">"The Design and Implementation of a Display-Oriented Editor Writing System"</a> <span class="cs1-format">(PDF)</span><span class="reference-accessdate">. Retrieved <span class="nowrap">2012-09-09</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=The+Design+and+Implementation+of+a+Display-Oriented+Editor+Writing+System&amp;rft.date=1979-01&amp;rft.au=Owen+Theodore+Anderson&amp;rft_id=http%3A%2F%2Fdspace.mit.edu%2Fbitstream%2Fhandle%2F1721.1%2F16038%2F07332831.pdf%3Fsequence%3D1&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AEmacs" class="Z3988"></span></span> </li> <li id="cite_note-Emacs.BookCCA-29"><span class="mw-cite-backlink"><b><a href="#cite_ref-Emacs.BookCCA_29-0">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFChristopher_KeltyMario_BiagioliPeter_JasziMartha_Woodmansee2015" class="citation book cs1">Christopher Kelty; Mario Biagioli; Peter Jaszi; Martha Woodmansee (2015). <i>Making and Unmaking Intellectual Property</i>. <q><i>Computer Corporation of America (CCA)</i> EMACS, written by Steve Zimmerman</q></cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=Making+and+Unmaking+Intellectual+Property&amp;rft.date=2015&amp;rft.au=Christopher+Kelty&amp;rft.au=Mario+Biagioli&amp;rft.au=Peter+Jaszi&amp;rft.au=Martha+Woodmansee&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AEmacs" class="Z3988"></span></span> </li> <li id="cite_note-30"><span class="mw-cite-backlink"><b><a href="#cite_ref-30">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://www.softwarepreservation.org/projects/emacs">"Emacs"</a>. December 17, 2017.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=Emacs&amp;rft.date=2017-12-17&amp;rft_id=http%3A%2F%2Fwww.softwarepreservation.org%2Fprojects%2Femacs&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AEmacs" class="Z3988"></span></span> </li> <li id="cite_note-31"><span class="mw-cite-backlink"><b><a href="#cite_ref-31">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://www.retro11.de/ouxr/43bsd/usr/src/new/emacs/etc/CCADIFF">"Differences between GNU Emacs and CCA Emacs"</a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=Differences+between+GNU+Emacs+and+CCA+Emacs&amp;rft_id=http%3A%2F%2Fwww.retro11.de%2Fouxr%2F43bsd%2Fusr%2Fsrc%2Fnew%2Femacs%2Fetc%2FCCADIFF&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AEmacs" class="Z3988"></span></span> </li> <li id="cite_note-32"><span class="mw-cite-backlink"><b><a href="#cite_ref-32">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://www.xemacs.org/Documentation/21.5/html/internals_3.html">"A History of Emacs"</a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=A+History+of+Emacs&amp;rft_id=http%3A%2F%2Fwww.xemacs.org%2FDocumentation%2F21.5%2Fhtml%2Finternals_3.html&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AEmacs" class="Z3988"></span></span> </li> <li id="cite_note-33"><span class="mw-cite-backlink"><b><a href="#cite_ref-33">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://lists.gnu.org/archive/html/emacs-devel/2014-09/msg00872.html">"emacs-devel msg 00872 (2014-09-29)"</a>. <q>In retrospect 24.3 should have been named 25.1 and 24.4 should have been named 26.1. The <i>.N</i> thingy should really be kept only for bug-fix releases and neither of 24.3, 24.4, nor the previously planned 24.5 are bug-fix releases.</q></cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=emacs-devel+msg+00872+%282014-09-29%29&amp;rft_id=http%3A%2F%2Flists.gnu.org%2Farchive%2Fhtml%2Femacs-devel%2F2014-09%2Fmsg00872.html&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AEmacs" class="Z3988"></span></span> </li> <li id="cite_note-34"><span class="mw-cite-backlink"><b><a href="#cite_ref-34">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFStoll1988" class="citation journal cs1"><a href="/wiki/Clifford_Stoll" title="Clifford Stoll">Stoll, Clifford</a> (1988). <a rel="nofollow" class="external text" href="https://doi.org/10.1145%2F42411.42412">"Stalking the wily hacker"</a>. <i><a href="/wiki/Communications_of_the_ACM" title="Communications of the ACM">Communications of the ACM</a></i>. <b>31</b> (5): <span class="nowrap">484–</span>497. <a href="/wiki/Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://doi.org/10.1145%2F42411.42412">10.1145/42411.42412</a></span>. <a href="/wiki/S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a>&#160;<a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:6956966">6956966</a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=article&amp;rft.jtitle=Communications+of+the+ACM&amp;rft.atitle=Stalking+the+wily+hacker&amp;rft.volume=31&amp;rft.issue=5&amp;rft.pages=%3Cspan+class%3D%22nowrap%22%3E484-%3C%2Fspan%3E497&amp;rft.date=1988&amp;rft_id=info%3Adoi%2F10.1145%2F42411.42412&amp;rft_id=https%3A%2F%2Fapi.semanticscholar.org%2FCorpusID%3A6956966%23id-name%3DS2CID&amp;rft.aulast=Stoll&amp;rft.aufirst=Clifford&amp;rft_id=https%3A%2F%2Fdoi.org%2F10.1145%252F42411.42412&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AEmacs" class="Z3988"></span></span> </li> <li id="cite_note-35"><span class="mw-cite-backlink"><b><a href="#cite_ref-35">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.openhub.net/p/emacs/analyses/latest/languages_summary">"GNU Emacs"</a>. <a href="/wiki/Open_Hub" title="Open Hub">Open Hub</a><span class="reference-accessdate">. Retrieved <span class="nowrap">2017-11-25</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=GNU+Emacs&amp;rft.pub=Open+Hub&amp;rft_id=https%3A%2F%2Fwww.openhub.net%2Fp%2Femacs%2Fanalyses%2Flatest%2Flanguages_summary&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AEmacs" class="Z3988"></span></span> </li> <li id="cite_note-36"><span class="mw-cite-backlink"><b><a href="#cite_ref-36">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFRaymond2014" class="citation web cs1"><a href="/wiki/Eric_S._Raymond" title="Eric S. Raymond">Raymond, Eric</a> (2014-11-12). <a rel="nofollow" class="external text" href="http://lists.gnu.org/archive/html/emacs-devel/2014-11/msg00681.html">"New Git repository is up"</a><span class="reference-accessdate">. Retrieved <span class="nowrap">2017-11-25</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=New+Git+repository+is+up&amp;rft.date=2014-11-12&amp;rft.aulast=Raymond&amp;rft.aufirst=Eric&amp;rft_id=http%3A%2F%2Flists.gnu.org%2Farchive%2Fhtml%2Femacs-devel%2F2014-11%2Fmsg00681.html&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AEmacs" class="Z3988"></span></span> </li> <li id="cite_note-37"><span class="mw-cite-backlink"><b><a href="#cite_ref-37">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFStallman2008" class="citation web cs1"><a href="/wiki/Richard_Stallman" title="Richard Stallman">Stallman, Richard</a> (2008-02-22). <a rel="nofollow" class="external text" href="http://lists.gnu.org/archive/html/emacs-devel/2008-02/msg02140.html">"Re: Looking for a new Emacs maintainer or team"</a>. gnu.org Mailing List<span class="reference-accessdate">. Retrieved <span class="nowrap">2017-11-25</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=Re%3A+Looking+for+a+new+Emacs+maintainer+or+team&amp;rft.pub=gnu.org+Mailing+List&amp;rft.date=2008-02-22&amp;rft.aulast=Stallman&amp;rft.aufirst=Richard&amp;rft_id=http%3A%2F%2Flists.gnu.org%2Farchive%2Fhtml%2Femacs-devel%2F2008-02%2Fmsg02140.html&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AEmacs" class="Z3988"></span></span> </li> <li id="cite_note-38"><span class="mw-cite-backlink"><b><a href="#cite_ref-38">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFMcNamara2008" class="citation news cs1">McNamara, Paul (2008-02-25). <a rel="nofollow" class="external text" href="https://web.archive.org/web/20080523201156/http://www.networkworld.com/community/node/25360">"Stallman on handing over GNU Emacs, its future and the importance of nomenclature"</a>. <i><a href="/wiki/Network_World" class="mw-redirect" title="Network World">Network World</a></i>. Archived from <a rel="nofollow" class="external text" href="http://www.networkworld.com/community/node/25360">the original</a> on 2008-05-23<span class="reference-accessdate">. Retrieved <span class="nowrap">2017-11-25</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=article&amp;rft.jtitle=Network+World&amp;rft.atitle=Stallman+on+handing+over+GNU+Emacs%2C+its+future+and+the+importance+of+nomenclature&amp;rft.date=2008-02-25&amp;rft.aulast=McNamara&amp;rft.aufirst=Paul&amp;rft_id=http%3A%2F%2Fwww.networkworld.com%2Fcommunity%2Fnode%2F25360&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AEmacs" class="Z3988"></span></span> </li> <li id="cite_note-39"><span class="mw-cite-backlink"><b><a href="#cite_ref-39">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFChirgwin2015" class="citation news cs1">Chirgwin, Richard (2015-11-05). <a rel="nofollow" class="external text" href="https://www.theregister.co.uk/2015/11/05/wiegley_new_emacs_maintainer/">"Emacs gets new maintainer as Richard Stallman signs off"</a>. <i><a href="/wiki/The_Register" title="The Register">The Register</a></i><span class="reference-accessdate">. Retrieved <span class="nowrap">2017-11-25</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=article&amp;rft.jtitle=The+Register&amp;rft.atitle=Emacs+gets+new+maintainer+as+Richard+Stallman+signs+off&amp;rft.date=2015-11-05&amp;rft.aulast=Chirgwin&amp;rft.aufirst=Richard&amp;rft_id=https%3A%2F%2Fwww.theregister.co.uk%2F2015%2F11%2F05%2Fwiegley_new_emacs_maintainer%2F&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AEmacs" class="Z3988"></span></span> </li> <li id="cite_note-40"><span class="mw-cite-backlink"><b><a href="#cite_ref-40">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFRaymond2014" class="citation web cs1"><a href="/wiki/Eric_S._Raymond" title="Eric S. Raymond">Raymond, Eric</a> (2014-03-29). <a rel="nofollow" class="external text" href="http://esr.ibiblio.org/?p=5634">"Ugliest…repository…conversion…ever"</a><span class="reference-accessdate">. Retrieved <span class="nowrap">2017-11-25</span></span>. <q>twenty-nine years of continuous development by no fewer than 579 people</q></cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=Ugliest%E2%80%A6repository%E2%80%A6conversion%E2%80%A6ever&amp;rft.date=2014-03-29&amp;rft.aulast=Raymond&amp;rft.aufirst=Eric&amp;rft_id=http%3A%2F%2Fesr.ibiblio.org%2F%3Fp%3D5634&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AEmacs" class="Z3988"></span></span> </li> <li id="cite_note-41"><span class="mw-cite-backlink"><b><a href="#cite_ref-41">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFStephen_J." class="citation web cs1">Stephen J., Turnbull. <a rel="nofollow" class="external text" href="http://www.xemacs.org/About/XEmacsVsGNUemacs.html">"XEmacs vs. GNU Emacs"</a><span class="reference-accessdate">. Retrieved <span class="nowrap">2012-10-02</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=XEmacs+vs.+GNU+Emacs&amp;rft.aulast=Stephen+J.&amp;rft.aufirst=Turnbull&amp;rft_id=http%3A%2F%2Fwww.xemacs.org%2FAbout%2FXEmacsVsGNUemacs.html&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AEmacs" class="Z3988"></span></span> </li> <li id="cite_note-42"><span class="mw-cite-backlink"><b><a href="#cite_ref-42">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://steve-yegge.blogspot.com/2008/04/xemacs-is-dead-long-live-xemacs.html">"XEmacs is Dead. Long Live XEmacs!"</a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=XEmacs+is+Dead.+Long+Live+XEmacs%21&amp;rft_id=http%3A%2F%2Fsteve-yegge.blogspot.com%2F2008%2F04%2Fxemacs-is-dead-long-live-xemacs.html&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AEmacs" class="Z3988"></span></span> </li> <li id="cite_note-43"><span class="mw-cite-backlink"><b><a href="#cite_ref-43">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="http://www.meadowy.org/meadow/pukiwiki-en/">FrontPage - Meadow Wiki</a> <a rel="nofollow" class="external text" href="https://web.archive.org/web/20120216081734/http://www.meadowy.org/meadow/pukiwiki-en/">Archived</a> 2012-02-16 at the <a href="/wiki/Wayback_Machine" title="Wayback Machine">Wayback Machine</a></span> </li> <li id="cite_note-44"><span class="mw-cite-backlink"><b><a href="#cite_ref-44">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.gnu.org/gnu/rms-lisp.html">"My Lisp Experiences and the Development of GNU Emacs"</a>. <q>There were people in those days, in 1985, who had one-megabyte machines without virtual memory. They wanted to be able to use GNU Emacs. This meant I had to keep the program as small as possible.</q></cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=My+Lisp+Experiences+and+the+Development+of+GNU+Emacs&amp;rft_id=https%3A%2F%2Fwww.gnu.org%2Fgnu%2Frms-lisp.html&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AEmacs" class="Z3988"></span></span> </li> <li id="cite_note-45"><span class="mw-cite-backlink"><b><a href="#cite_ref-45">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://savannah.gnu.org/projects/zile/">"GNU Zile (Zile is Lossy Emacs) - Summary"</a>. <q>Modern computers have more than enough resources to start and run a full Emacs in a fraction of a second, and Emacs is probably what you want. Zile is a small, fast, and powerful Emacs clone. It is useful for small footprint installations (e.g. on floppy disk), machines with little memory, or quick editing sessions, especially on remote machines or as a different user, e.g. root.</q></cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=GNU+Zile+%28Zile+is+Lossy+Emacs%29+-+Summary&amp;rft_id=https%3A%2F%2Fsavannah.gnu.org%2Fprojects%2Fzile%2F&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AEmacs" class="Z3988"></span></span> </li> <li id="cite_note-46"><span class="mw-cite-backlink"><b><a href="#cite_ref-46">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://www.lugaru.com/">"Lugaru Software Homepage"</a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=Lugaru+Software+Homepage&amp;rft_id=http%3A%2F%2Fwww.lugaru.com%2F&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AEmacs" class="Z3988"></span></span> </li> <li id="cite_note-47"><span class="mw-cite-backlink"><b><a href="#cite_ref-47">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.hcs.harvard.edu/~jrus/site/cocoa-text.html">"Cocoa text system"</a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=Cocoa+text+system&amp;rft_id=https%3A%2F%2Fwww.hcs.harvard.edu%2F~jrus%2Fsite%2Fcocoa-text.html&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AEmacs" class="Z3988"></span></span> </li> <li id="cite_note-48"><span class="mw-cite-backlink"><b><a href="#cite_ref-48">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://blogs.mathworks.com/community/2007/05/11/setting-up-keybindings-for-the-command-window-and-editor/">"Setting up keybindings for the Command Window and Editor"</a>. <i>Mathworks Blogs</i>. 2007-05-11<span class="reference-accessdate">. Retrieved <span class="nowrap">2019-08-18</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=Mathworks+Blogs&amp;rft.atitle=Setting+up+keybindings+for+the+Command+Window+and+Editor&amp;rft.date=2007-05-11&amp;rft_id=https%3A%2F%2Fblogs.mathworks.com%2Fcommunity%2F2007%2F05%2F11%2Fsetting-up-keybindings-for-the-command-window-and-editor%2F&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AEmacs" class="Z3988"></span></span> </li> <li id="cite_note-49"><span class="mw-cite-backlink"><b><a href="#cite_ref-49">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFBolskyKorn1989" class="citation book cs1">Bolsky, Morris I.; Korn, David G. (1989). "Acknowledgements". <a rel="nofollow" class="external text" href="https://archive.org/details/kornshellcommand00bols"><i>The KornShell Command and Programming Language</i></a>. Englewood Cliffs, NJ: Prentice Hall. pp.&#160;xii. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/0-13-516972-0" title="Special:BookSources/0-13-516972-0"><bdi>0-13-516972-0</bdi></a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=bookitem&amp;rft.atitle=Acknowledgements&amp;rft.btitle=The+KornShell+Command+and+Programming+Language&amp;rft.place=Englewood+Cliffs%2C+NJ&amp;rft.pages=xii&amp;rft.pub=Prentice+Hall&amp;rft.date=1989&amp;rft.isbn=0-13-516972-0&amp;rft.aulast=Bolsky&amp;rft.aufirst=Morris+I.&amp;rft.au=Korn%2C+David+G.&amp;rft_id=https%3A%2F%2Farchive.org%2Fdetails%2Fkornshellcommand00bols&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AEmacs" class="Z3988"></span></span> </li> <li id="cite_note-50"><span class="mw-cite-backlink"><b><a href="#cite_ref-50">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.gnu.org/software/emacs/manual/html_node/emacs/Init-File.html">"Init file"</a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=Init+file&amp;rft_id=https%3A%2F%2Fwww.gnu.org%2Fsoftware%2Femacs%2Fmanual%2Fhtml_node%2Femacs%2FInit-File.html&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AEmacs" class="Z3988"></span></span> </li> <li id="cite_note-51"><span class="mw-cite-backlink"><b><a href="#cite_ref-51">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.gnu.org/software/emacs/manual/html_node/emacs/Early-Init-File.html">"Early Init file"</a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=Early+Init+file&amp;rft_id=https%3A%2F%2Fwww.gnu.org%2Fsoftware%2Femacs%2Fmanual%2Fhtml_node%2Femacs%2FEarly-Init-File.html&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AEmacs" class="Z3988"></span></span> </li> <li id="cite_note-52"><span class="mw-cite-backlink"><b><a href="#cite_ref-52">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://stallman.org/saint.html">"Saint IGNUcius - Richard Stallman"</a><span class="reference-accessdate">. Retrieved <span class="nowrap">29 January</span> 2015</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=Saint+IGNUcius+-+Richard+Stallman&amp;rft_id=http%3A%2F%2Fstallman.org%2Fsaint.html&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AEmacs" class="Z3988"></span></span> </li> <li id="cite_note-53"><span class="mw-cite-backlink"><b><a href="#cite_ref-53">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20111004151936/http://linuxhelp.blogspot.com/2006/04/unabridged-selective-transcript-of.html">"The unabridged selective transcript of Richard M Stallman's talk at the ANU"</a>. Archived from <a rel="nofollow" class="external text" href="http://linuxhelp.blogspot.com/2006/04/unabridged-selective-transcript-of.html">the original</a> on 4 October 2011<span class="reference-accessdate">. Retrieved <span class="nowrap">29 January</span> 2015</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=The+unabridged+selective+transcript+of+Richard+M+Stallman%27s+talk+at+the+ANU&amp;rft_id=http%3A%2F%2Flinuxhelp.blogspot.com%2F2006%2F04%2Funabridged-selective-transcript-of.html&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AEmacs" class="Z3988"></span></span> </li> <li id="cite_note-54"><span class="mw-cite-backlink"><b><a href="#cite_ref-54">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="news:alt.religion.emacs">alt.religion.emacs newsgroup</a></span> </li> <li id="cite_note-55"><span class="mw-cite-backlink"><b><a href="#cite_ref-55">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://www.stallman.org/saint.html">"Saint IGNUcius - Richard Stallman"</a>. <i>www.stallman.org</i><span class="reference-accessdate">. Retrieved <span class="nowrap">27 March</span> 2018</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=www.stallman.org&amp;rft.atitle=Saint+IGNUcius+-+Richard+Stallman&amp;rft_id=http%3A%2F%2Fwww.stallman.org%2Fsaint.html&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AEmacs" class="Z3988"></span></span> </li> <li id="cite_note-56"><span class="mw-cite-backlink"><b><a href="#cite_ref-56">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://www.catb.org/~esr/jargon/html/V/VAXen.html">"VAXen"</a>. Catb.org<span class="reference-accessdate">. Retrieved <span class="nowrap">2009-11-08</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=VAXen&amp;rft.pub=Catb.org&amp;rft_id=http%3A%2F%2Fwww.catb.org%2F~esr%2Fjargon%2Fhtml%2FV%2FVAXen.html&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AEmacs" class="Z3988"></span></span> </li> </ol></div> <div class="mw-heading mw-heading2"><h2 id="Bibliography">Bibliography</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Emacs&amp;action=edit&amp;section=21" title="Edit section: Bibliography"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFCiccarelli1978" class="citation book cs1"><a href="/w/index.php?title=Eugene_Ciccarelli&amp;action=edit&amp;redlink=1" class="new" title="Eugene Ciccarelli (page does not exist)">Ciccarelli, Eugene</a> (1978). <i>An Introduction to the Emacs Editor</i>. Cambridge, Massachusetts: MIT Artificial Intelligence Laboratory. AIM-447.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=An+Introduction+to+the+Emacs+Editor&amp;rft.place=Cambridge%2C+Massachusetts&amp;rft.pub=MIT+Artificial+Intelligence+Laboratory&amp;rft.date=1978&amp;rft.aulast=Ciccarelli&amp;rft.aufirst=Eugene&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AEmacs" class="Z3988"></span> <a rel="nofollow" class="external text" href="https://archive.org/details/bitsavers_mitaiaimAI_4967481">PDF</a></li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFStallman1981" class="citation book cs1"><a href="/wiki/Richard_Stallman" title="Richard Stallman">Stallman, Richard M.</a> (1981) [1979]. <i>EMACS: The Extensible, Customizable, Self-Documenting Display Editor</i>. Cambridge Massachusetts: MIT Artificial Intelligence Laboratory. AIM-519A.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=EMACS%3A+The+Extensible%2C+Customizable%2C+Self-Documenting+Display+Editor&amp;rft.place=Cambridge+Massachusetts&amp;rft.pub=MIT+Artificial+Intelligence+Laboratory&amp;rft.date=1981&amp;rft.aulast=Stallman&amp;rft.aufirst=Richard+M.&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AEmacs" class="Z3988"></span> <a rel="nofollow" class="external text" href="https://archive.org/details/bitsavers_mitaiaimAI_2207521">PDF</a> <a rel="nofollow" class="external text" href="https://www.gnu.org/software/emacs/emacs-paper.html">HTML</a></li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFStallman2002" class="citation book cs1"><a href="/wiki/Richard_Stallman" title="Richard Stallman">Stallman, Richard M.</a> (2002). <a rel="nofollow" class="external text" href="https://www.gnu.org/software/emacs/manual/"><i>GNU Emacs Manual</i></a> (15th&#160;ed.). GNU Press. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/1-882114-85-X" title="Special:BookSources/1-882114-85-X"><bdi>1-882114-85-X</bdi></a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=GNU+Emacs+Manual&amp;rft.edition=15th&amp;rft.pub=GNU+Press&amp;rft.date=2002&amp;rft.isbn=1-882114-85-X&amp;rft.aulast=Stallman&amp;rft.aufirst=Richard+M.&amp;rft_id=https%3A%2F%2Fwww.gnu.org%2Fsoftware%2Femacs%2Fmanual%2F&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AEmacs" class="Z3988"></span></li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFStallman2002" class="citation web cs1"><a href="/wiki/Richard_Stallman" title="Richard Stallman">Stallman, Richard M.</a> (2002). <a rel="nofollow" class="external text" href="https://www.gnu.org/gnu/rms-lisp.html">"My Lisp Experiences and the Development of GNU Emacs"</a><span class="reference-accessdate">. Retrieved <span class="nowrap">2007-02-01</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=My+Lisp+Experiences+and+the+Development+of+GNU+Emacs&amp;rft.date=2002&amp;rft.aulast=Stallman&amp;rft.aufirst=Richard+M.&amp;rft_id=https%3A%2F%2Fwww.gnu.org%2Fgnu%2Frms-lisp.html&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AEmacs" class="Z3988"></span></li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFChassel2004" class="citation book cs1"><a href="/wiki/Robert_J._Chassell" title="Robert J. Chassell">Chassel, Robert J.</a> (2004). <a rel="nofollow" class="external text" href="https://www.gnu.org/software/emacs/emacs-lisp-intro/"><i>An Introduction to Programming in Emacs Lisp</i></a>. GNU Press. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/1-882114-56-6" title="Special:BookSources/1-882114-56-6"><bdi>1-882114-56-6</bdi></a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=An+Introduction+to+Programming+in+Emacs+Lisp&amp;rft.pub=GNU+Press&amp;rft.date=2004&amp;rft.isbn=1-882114-56-6&amp;rft.aulast=Chassel&amp;rft.aufirst=Robert+J.&amp;rft_id=https%3A%2F%2Fwww.gnu.org%2Fsoftware%2Femacs%2Femacs-lisp-intro%2F&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AEmacs" class="Z3988"></span></li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFGlickstein1997" class="citation book cs1">Glickstein, Bob (April 1997). <span class="id-lock-registration" title="Free registration required"><a rel="nofollow" class="external text" href="https://archive.org/details/writinggnuemacse00glic"><i>Writing GNU Emacs Extensions</i></a></span>. O'Reilly &amp; Associates. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/1-56592-261-1" title="Special:BookSources/1-56592-261-1"><bdi>1-56592-261-1</bdi></a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=Writing+GNU+Emacs+Extensions&amp;rft.pub=O%27Reilly+%26+Associates&amp;rft.date=1997-04&amp;rft.isbn=1-56592-261-1&amp;rft.aulast=Glickstein&amp;rft.aufirst=Bob&amp;rft_id=https%3A%2F%2Farchive.org%2Fdetails%2Fwritinggnuemacse00glic&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AEmacs" class="Z3988"></span></li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFCameron,_DebraElliott,_JamesLoy,_MarcRaymond,_Eric2004" class="citation book cs1">Cameron, Debra; Elliott, James; Loy, Marc; Raymond, Eric; Rosenblatt, Bill (December 2004). <a rel="nofollow" class="external text" href="http://www.oreilly.com/catalog/gnu3/"><i>Learning GNU Emacs, 3rd Edition</i></a>. O'Reilly &amp; Associates. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/0-596-00648-9" title="Special:BookSources/0-596-00648-9"><bdi>0-596-00648-9</bdi></a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=Learning+GNU+Emacs%2C+3rd+Edition&amp;rft.pub=O%27Reilly+%26+Associates&amp;rft.date=2004-12&amp;rft.isbn=0-596-00648-9&amp;rft.au=Cameron%2C+Debra&amp;rft.au=Elliott%2C+James&amp;rft.au=Loy%2C+Marc&amp;rft.au=Raymond%2C+Eric&amp;rft.au=Rosenblatt%2C+Bill&amp;rft_id=http%3A%2F%2Fwww.oreilly.com%2Fcatalog%2Fgnu3%2F&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AEmacs" class="Z3988"></span></li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFFinseth1991" class="citation book cs1">Finseth, Craig A. (1991). <a rel="nofollow" class="external text" href="http://www.finseth.com/craft/"><i>The Craft of Text Editing -or- Emacs for the Modern World</i></a>. Springer-Verlag &amp; Co. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/978-1-4116-8297-9" title="Special:BookSources/978-1-4116-8297-9"><bdi>978-1-4116-8297-9</bdi></a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=The+Craft+of+Text+Editing+-or-+Emacs+for+the+Modern+World&amp;rft.pub=Springer-Verlag+%26+Co&amp;rft.date=1991&amp;rft.isbn=978-1-4116-8297-9&amp;rft.aulast=Finseth&amp;rft.aufirst=Craig+A.&amp;rft_id=http%3A%2F%2Fwww.finseth.com%2Fcraft%2F&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AEmacs" class="Z3988"></span></li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFThompson2009" class="citation web cs1">Thompson, Adrienne G. (2009). <a rel="nofollow" class="external text" href="http://www.codeartnow.com/hacker-art/macsimizing-teco">"MACSimizing TECO"</a><span class="reference-accessdate">. Retrieved <span class="nowrap">2012-02-26</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=MACSimizing+TECO&amp;rft.date=2009&amp;rft.aulast=Thompson&amp;rft.aufirst=Adrienne+G.&amp;rft_id=http%3A%2F%2Fwww.codeartnow.com%2Fhacker-art%2Fmacsimizing-teco&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AEmacs" class="Z3988"></span></li></ul> <div class="mw-heading mw-heading2"><h2 id="External_links">External links</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Emacs&amp;action=edit&amp;section=22" title="Edit section: External links"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <style data-mw-deduplicate="TemplateStyles:r1235681985">.mw-parser-output .side-box{margin:4px 0;box-sizing:border-box;border:1px solid #aaa;font-size:88%;line-height:1.25em;background-color:var(--background-color-interactive-subtle,#f8f9fa);display:flow-root}.mw-parser-output .side-box-abovebelow,.mw-parser-output .side-box-text{padding:0.25em 0.9em}.mw-parser-output .side-box-image{padding:2px 0 2px 0.9em;text-align:center}.mw-parser-output .side-box-imageright{padding:2px 0.9em 2px 0;text-align:center}@media(min-width:500px){.mw-parser-output .side-box-flex{display:flex;align-items:center}.mw-parser-output .side-box-text{flex:1;min-width:0}}@media(min-width:720px){.mw-parser-output .side-box{width:238px}.mw-parser-output .side-box-right{clear:right;float:right;margin-left:1em}.mw-parser-output .side-box-left{margin-right:1em}}</style><style data-mw-deduplicate="TemplateStyles:r1237033735">@media print{body.ns-0 .mw-parser-output .sistersitebox{display:none!important}}@media screen{html.skin-theme-clientpref-night .mw-parser-output .sistersitebox img[src*="Wiktionary-logo-en-v2.svg"]{background-color:white}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .sistersitebox img[src*="Wiktionary-logo-en-v2.svg"]{background-color:white}}</style><div class="side-box side-box-right plainlinks sistersitebox"><style data-mw-deduplicate="TemplateStyles:r1126788409">.mw-parser-output .plainlist ol,.mw-parser-output .plainlist ul{line-height:inherit;list-style:none;margin:0;padding:0}.mw-parser-output .plainlist ol li,.mw-parser-output .plainlist ul li{margin-bottom:0}</style> <div class="side-box-flex"> <div class="side-box-image"><span class="noviewer" typeof="mw:File"><a href="/wiki/File:Wikiquote-logo.svg" class="mw-file-description"><img alt="" src="//upload.wikimedia.org/wikipedia/commons/thumb/f/fa/Wikiquote-logo.svg/34px-Wikiquote-logo.svg.png" decoding="async" width="34" height="40" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/f/fa/Wikiquote-logo.svg/51px-Wikiquote-logo.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/f/fa/Wikiquote-logo.svg/68px-Wikiquote-logo.svg.png 2x" data-file-width="300" data-file-height="355" /></a></span></div> <div class="side-box-text plainlist">Wikiquote has quotations related to <i><b><a href="https://en.wikiquote.org/wiki/Special:Search/Emacs" class="extiw" title="q:Special:Search/Emacs">Emacs</a></b></i>.</div></div> </div> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1235681985"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1237033735"><div class="side-box side-box-right plainlinks sistersitebox"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1126788409"> <div class="side-box-flex"> <div class="side-box-image"><span class="noviewer" typeof="mw:File"><a href="/wiki/File:Commons-logo.svg" class="mw-file-description"><img alt="" src="//upload.wikimedia.org/wikipedia/en/thumb/4/4a/Commons-logo.svg/30px-Commons-logo.svg.png" decoding="async" width="30" height="40" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/en/thumb/4/4a/Commons-logo.svg/45px-Commons-logo.svg.png 1.5x, //upload.wikimedia.org/wikipedia/en/thumb/4/4a/Commons-logo.svg/59px-Commons-logo.svg.png 2x" data-file-width="1024" data-file-height="1376" /></a></span></div> <div class="side-box-text plainlist">Wikimedia Commons has media related to <span style="font-weight: bold; font-style: italic;"><a href="https://commons.wikimedia.org/wiki/Category:Emacs" class="extiw" title="commons:Category:Emacs">Emacs</a></span>.</div></div> </div> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1235681985"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1237033735"><div class="side-box side-box-right plainlinks sistersitebox"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1126788409"> <div class="side-box-flex"> <div class="side-box-image"><span class="noviewer" typeof="mw:File"><a href="/wiki/File:Wikibooks-logo-en-noslogan.svg" class="mw-file-description"><img alt="" src="//upload.wikimedia.org/wikipedia/commons/thumb/d/df/Wikibooks-logo-en-noslogan.svg/40px-Wikibooks-logo-en-noslogan.svg.png" decoding="async" width="40" height="40" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/d/df/Wikibooks-logo-en-noslogan.svg/60px-Wikibooks-logo-en-noslogan.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/d/df/Wikibooks-logo-en-noslogan.svg/80px-Wikibooks-logo-en-noslogan.svg.png 2x" data-file-width="400" data-file-height="400" /></a></span></div> <div class="side-box-text plainlist">Wikibooks has more on the topic of: <i><b><a href="https://en.wikibooks.org/wiki/Special:Search/Emacs" class="extiw" title="wikibooks:Special:Search/Emacs">Emacs</a></b></i></div></div> </div> <ul><li><span class="official-website"><span class="url"><a rel="nofollow" class="external text" href="https://www.gnu.org/software/emacs">Official website</a></span></span></li> <li><a rel="nofollow" class="external text" href="http://www.finseth.com/emacs.html">List of Emacs implementations</a></li> <li><a rel="nofollow" class="external text" href="http://chrismennie.ca/EMACS-Conceptual-Architecture.pdf">Architectural overview</a></li></ul> <div class="navbox-styles"><style data-mw-deduplicate="TemplateStyles:r1129693374">.mw-parser-output .hlist dl,.mw-parser-output .hlist ol,.mw-parser-output .hlist ul{margin:0;padding:0}.mw-parser-output .hlist dd,.mw-parser-output .hlist dt,.mw-parser-output .hlist li{margin:0;display:inline}.mw-parser-output .hlist.inline,.mw-parser-output .hlist.inline dl,.mw-parser-output .hlist.inline ol,.mw-parser-output .hlist.inline ul,.mw-parser-output .hlist dl dl,.mw-parser-output .hlist dl ol,.mw-parser-output .hlist dl ul,.mw-parser-output .hlist ol dl,.mw-parser-output .hlist ol ol,.mw-parser-output .hlist ol ul,.mw-parser-output .hlist ul dl,.mw-parser-output .hlist ul ol,.mw-parser-output .hlist ul ul{display:inline}.mw-parser-output .hlist .mw-empty-li{display:none}.mw-parser-output .hlist dt::after{content:": "}.mw-parser-output .hlist dd::after,.mw-parser-output .hlist li::after{content:" · ";font-weight:bold}.mw-parser-output .hlist dd:last-child::after,.mw-parser-output .hlist dt:last-child::after,.mw-parser-output .hlist li:last-child::after{content:none}.mw-parser-output .hlist dd dd:first-child::before,.mw-parser-output .hlist dd dt:first-child::before,.mw-parser-output .hlist dd li:first-child::before,.mw-parser-output .hlist dt dd:first-child::before,.mw-parser-output .hlist dt dt:first-child::before,.mw-parser-output .hlist dt li:first-child::before,.mw-parser-output .hlist li dd:first-child::before,.mw-parser-output .hlist li dt:first-child::before,.mw-parser-output .hlist li li:first-child::before{content:" (";font-weight:normal}.mw-parser-output .hlist dd dd:last-child::after,.mw-parser-output .hlist dd dt:last-child::after,.mw-parser-output .hlist dd li:last-child::after,.mw-parser-output .hlist dt dd:last-child::after,.mw-parser-output .hlist dt dt:last-child::after,.mw-parser-output .hlist dt li:last-child::after,.mw-parser-output .hlist li dd:last-child::after,.mw-parser-output .hlist li dt:last-child::after,.mw-parser-output .hlist li li:last-child::after{content:")";font-weight:normal}.mw-parser-output .hlist ol{counter-reset:listitem}.mw-parser-output .hlist ol>li{counter-increment:listitem}.mw-parser-output .hlist ol>li::before{content:" "counter(listitem)"\a0 "}.mw-parser-output .hlist dd ol>li:first-child::before,.mw-parser-output .hlist dt ol>li:first-child::before,.mw-parser-output .hlist li ol>li:first-child::before{content:" ("counter(listitem)"\a0 "}</style><style data-mw-deduplicate="TemplateStyles:r1236075235">.mw-parser-output .navbox{box-sizing:border-box;border:1px solid #a2a9b1;width:100%;clear:both;font-size:88%;text-align:center;padding:1px;margin:1em auto 0}.mw-parser-output .navbox .navbox{margin-top:0}.mw-parser-output .navbox+.navbox,.mw-parser-output .navbox+.navbox-styles+.navbox{margin-top:-1px}.mw-parser-output .navbox-inner,.mw-parser-output .navbox-subgroup{width:100%}.mw-parser-output .navbox-group,.mw-parser-output .navbox-title,.mw-parser-output .navbox-abovebelow{padding:0.25em 1em;line-height:1.5em;text-align:center}.mw-parser-output .navbox-group{white-space:nowrap;text-align:right}.mw-parser-output .navbox,.mw-parser-output .navbox-subgroup{background-color:#fdfdfd}.mw-parser-output .navbox-list{line-height:1.5em;border-color:#fdfdfd}.mw-parser-output .navbox-list-with-group{text-align:left;border-left-width:2px;border-left-style:solid}.mw-parser-output tr+tr>.navbox-abovebelow,.mw-parser-output tr+tr>.navbox-group,.mw-parser-output tr+tr>.navbox-image,.mw-parser-output tr+tr>.navbox-list{border-top:2px solid #fdfdfd}.mw-parser-output .navbox-title{background-color:#ccf}.mw-parser-output .navbox-abovebelow,.mw-parser-output .navbox-group,.mw-parser-output .navbox-subgroup .navbox-title{background-color:#ddf}.mw-parser-output .navbox-subgroup .navbox-group,.mw-parser-output .navbox-subgroup .navbox-abovebelow{background-color:#e6e6ff}.mw-parser-output .navbox-even{background-color:#f7f7f7}.mw-parser-output .navbox-odd{background-color:transparent}.mw-parser-output .navbox .hlist td dl,.mw-parser-output .navbox .hlist td ol,.mw-parser-output .navbox .hlist td ul,.mw-parser-output .navbox td.hlist dl,.mw-parser-output .navbox td.hlist ol,.mw-parser-output .navbox td.hlist ul{padding:0.125em 0}.mw-parser-output .navbox .navbar{display:block;font-size:100%}.mw-parser-output .navbox-title .navbar{float:left;text-align:left;margin-right:0.5em}body.skin--responsive .mw-parser-output .navbox-image img{max-width:none!important}@media print{body.ns-0 .mw-parser-output .navbox{display:none!important}}</style></div><div role="navigation" class="navbox" aria-labelledby="17px&amp;#124;Emacs_Emacs361" style="padding:3px"><table class="nowraplinks hlist mw-collapsible autocollapse navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="3"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1129693374"><style data-mw-deduplicate="TemplateStyles:r1239400231">.mw-parser-output .navbar{display:inline;font-size:88%;font-weight:normal}.mw-parser-output .navbar-collapse{float:left;text-align:left}.mw-parser-output .navbar-boxtext{word-spacing:0}.mw-parser-output .navbar ul{display:inline-block;white-space:nowrap;line-height:inherit}.mw-parser-output .navbar-brackets::before{margin-right:-0.125em;content:"[ "}.mw-parser-output .navbar-brackets::after{margin-left:-0.125em;content:" ]"}.mw-parser-output .navbar li{word-spacing:-0.125em}.mw-parser-output .navbar a>span,.mw-parser-output .navbar a>abbr{text-decoration:inherit}.mw-parser-output .navbar-mini abbr{font-variant:small-caps;border-bottom:none;text-decoration:none;cursor:inherit}.mw-parser-output .navbar-ct-full{font-size:114%;margin:0 7em}.mw-parser-output .navbar-ct-mini{font-size:114%;margin:0 4em}html.skin-theme-clientpref-night .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}@media(prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}}@media print{.mw-parser-output .navbar{display:none!important}}</style><div class="navbar plainlinks hlist navbar-mini"><ul><li class="nv-view"><a href="/wiki/Template:EmacsNavbox" title="Template:EmacsNavbox"><abbr title="View this template">v</abbr></a></li><li class="nv-talk"><a href="/wiki/Template_talk:EmacsNavbox" title="Template talk:EmacsNavbox"><abbr title="Discuss this template">t</abbr></a></li><li class="nv-edit"><a href="/wiki/Special:EditPage/Template:EmacsNavbox" title="Special:EditPage/Template:EmacsNavbox"><abbr title="Edit this template">e</abbr></a></li></ul></div><div id="17px&amp;#124;Emacs_Emacs361" style="font-size:114%;margin:0 4em"><span typeof="mw:File"><a href="/wiki/File:EmacsIcon.svg" class="mw-file-description" title="Emacs"><img alt="Emacs" src="//upload.wikimedia.org/wikipedia/commons/thumb/0/08/EmacsIcon.svg/17px-EmacsIcon.svg.png" decoding="async" width="17" height="17" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/0/08/EmacsIcon.svg/26px-EmacsIcon.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/0/08/EmacsIcon.svg/34px-EmacsIcon.svg.png 2x" data-file-width="48" data-file-height="48" /></a></span> <a class="mw-selflink selflink">Emacs</a></div></th></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Implementation" title="Implementation">Implementations</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/GNU" title="GNU">GNU</a> and<br /><a href="/wiki/Derivative_work" title="Derivative work">derivative</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/GNU_Emacs" title="GNU Emacs">GNU Emacs</a></li> <li><a href="/wiki/XEmacs" title="XEmacs">XEmacs</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Other</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Freemacs" title="Freemacs">Freemacs</a></li> <li><a href="/wiki/EINE" class="mw-redirect" title="EINE">EINE</a></li> <li><a href="/wiki/Gosling_Emacs" title="Gosling Emacs">Gosling Emacs</a> <ul><li><a href="/wiki/Mocklisp" class="mw-redirect" title="Mocklisp">Mocklisp</a></li></ul></li> <li><a href="/wiki/Hemlock_(text_editor)" title="Hemlock (text editor)">Hemlock</a></li> <li><a href="/wiki/JOVE" title="JOVE">JOVE</a></li> <li><a href="/wiki/Mg_(text_editor)" title="Mg (text editor)">mg</a></li> <li><a href="/wiki/MicroEMACS" title="MicroEMACS">MicroEMACS</a></li> <li><a href="/wiki/MINCE" title="MINCE">MINCE</a></li> <li><a href="/wiki/Multics_Emacs" title="Multics Emacs">Multics Emacs</a></li> <li><a href="/wiki/Perfect_Writer" title="Perfect Writer">Perfect Writer</a></li> <li><a href="/wiki/GNU_TeXmacs" title="GNU TeXmacs">GNU TeXmacs</a></li> <li><a href="/wiki/Vile_(text_editor)" title="Vile (text editor)">vile</a></li> <li><a href="/wiki/Zmacs" title="Zmacs">Zmacs</a></li> <li><a href="/wiki/ZWEI" class="mw-redirect" title="ZWEI">ZWEI</a></li></ul> </div></td></tr></tbody></table><div></div></td><td class="noviewer navbox-image" rowspan="5" style="width:1px;padding:0 0 0 2px"><div><span typeof="mw:File"><a href="/wiki/File:Emacs-logo.svg" class="mw-file-description" title="GNU/Emacs Logo"><img alt="GNU/Emacs Logo" src="//upload.wikimedia.org/wikipedia/commons/thumb/5/5f/Emacs-logo.svg/90px-Emacs-logo.svg.png" decoding="async" width="90" height="72" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/5/5f/Emacs-logo.svg/135px-Emacs-logo.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/5/5f/Emacs-logo.svg/180px-Emacs-logo.svg.png 2x" data-file-width="270" data-file-height="217" /></a></span></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Modes</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/AUCTeX" title="AUCTeX">AUCTeX</a></li> <li><a href="/wiki/Dired" title="Dired">Dired</a></li> <li><i><a href="/wiki/Dunnet_(video_game)" title="Dunnet (video game)">Dunnet</a></i></li> <li><a href="/wiki/Emacs_Speaks_Statistics" title="Emacs Speaks Statistics">Emacs Speaks Statistics</a></li> <li><a href="/wiki/Emacspeak" title="Emacspeak">Emacspeak</a></li> <li><a href="/wiki/EMMS_(media_player)" title="EMMS (media player)">EMMS</a></li> <li><a href="/wiki/ERC_(software)" title="ERC (software)">ERC</a></li> <li><a href="/wiki/Eww_(web_browser)" title="Eww (web browser)">eww</a></li> <li><a href="/wiki/Gnus" title="Gnus">Gnus</a></li> <li><a href="/wiki/Magit" title="Magit">Magit</a></li> <li><a href="/wiki/Org-mode" title="Org-mode">Org-mode</a></li> <li><a href="/wiki/Planner_(program)" title="Planner (program)">Planner</a></li> <li><a href="/wiki/Rcirc" title="Rcirc">rcirc</a></li> <li><a href="/wiki/RefTeX" title="RefTeX">RefTeX</a></li> <li><a href="/wiki/SLIME" title="SLIME">SLIME</a></li> <li><a href="/wiki/W3m#In_Emacs" title="W3m">w3m</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Internals</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Emacs_Lisp" title="Emacs Lisp">Emacs Lisp</a></li> <li><a href="/wiki/MULE" title="MULE">MULE</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Community_of_practice" title="Community of practice">Community</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Organization" title="Organization">Organizations</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Multics_Emacs" title="Multics Emacs">Honeywell</a></li> <li><a href="/wiki/Perfect_Writer" title="Perfect Writer">Perfect Software</a></li> <li><a href="/wiki/Mark_of_the_Unicorn" title="Mark of the Unicorn">Mark of the Unicorn</a></li> <li><a href="/wiki/Massachusetts_Institute_of_Technology" title="Massachusetts Institute of Technology">Massachusetts Institute of Technology</a></li> <li><a href="/wiki/Perfect_Writer" title="Perfect Writer">Thorn EMI Computer Software</a></li> <li><a href="/wiki/Gosling_Emacs" title="Gosling Emacs">UniPress</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">People</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Vile_(text_editor)" title="Vile (text editor)">Thomas Dickey</a></li> <li><a href="/wiki/Vile_(text_editor)" title="Vile (text editor)">Paul Fox</a></li> <li><a href="/wiki/Richard_P._Gabriel" title="Richard P. Gabriel">Richard P. Gabriel</a></li> <li><a href="/wiki/James_Gosling" title="James Gosling">James Gosling</a></li> <li><a href="/wiki/Jim_Hall_(computer_programmer)" title="Jim Hall (computer programmer)">Jim Hall</a></li> <li><a href="/wiki/GNU_TeXmacs" title="GNU TeXmacs">Joris van der Hoeven</a></li> <li><a href="/wiki/Daniel_Murphy_(computer_scientist)" title="Daniel Murphy (computer scientist)">Daniel Murphy</a></li> <li><a href="/wiki/Russ_Nelson" title="Russ Nelson">Russ Nelson</a></li> <li>David Reitter</li> <li><a href="/wiki/Richard_Stallman" title="Richard Stallman">Richard Stallman</a></li> <li><a href="/wiki/Guy_L._Steele_Jr." title="Guy L. Steele Jr.">Guy L. Steele Jr.</a></li> <li><a href="/wiki/Daniel_Weinreb" title="Daniel Weinreb">Daniel Weinreb</a></li></ul> </div></td></tr></tbody></table><div></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Other</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Conkeror" title="Conkeror">Conkeror</a></li> <li><a href="/wiki/Dissociated_press" title="Dissociated press">Dissociated press</a></li> <li><a href="/wiki/Editor_war" title="Editor war">Editor war</a></li> <li><a href="/wiki/Spacemacs" title="Spacemacs">Spacemacs</a></li> <li><a href="/wiki/Doom_Emacs" title="Doom Emacs">Doom Emacs</a></li></ul> </div></td></tr><tr><td class="navbox-abovebelow" colspan="3"><div> <ul><li><span class="noviewer" typeof="mw:File"><span title="Commons page"><img alt="" src="//upload.wikimedia.org/wikipedia/en/thumb/4/4a/Commons-logo.svg/12px-Commons-logo.svg.png" decoding="async" width="12" height="16" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/en/thumb/4/4a/Commons-logo.svg/18px-Commons-logo.svg.png 1.5x, //upload.wikimedia.org/wikipedia/en/thumb/4/4a/Commons-logo.svg/24px-Commons-logo.svg.png 2x" data-file-width="1024" data-file-height="1376" /></span></span> <a href="https://commons.wikimedia.org/wiki/Category:Emacs" class="extiw" title="commons:Category:Emacs">Emacs on Wikimedia Commons</a></li> <li><span class="noviewer" typeof="mw:File"><span title="Wikiquote page"><img alt="" src="//upload.wikimedia.org/wikipedia/commons/thumb/f/fa/Wikiquote-logo.svg/13px-Wikiquote-logo.svg.png" decoding="async" width="13" height="16" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/f/fa/Wikiquote-logo.svg/20px-Wikiquote-logo.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/f/fa/Wikiquote-logo.svg/27px-Wikiquote-logo.svg.png 2x" data-file-width="300" data-file-height="355" /></span></span> <a href="https://en.wikiquote.org/wiki/Emacs" class="extiw" title="wikiquote:Emacs">Emacs on Wikiquotes</a></li></ul> </div></td></tr></tbody></table></div> <div class="navbox-styles"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1129693374"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1236075235"></div><div role="navigation" class="navbox" aria-labelledby="GNU_Project62" style="padding:3px"><table class="nowraplinks mw-collapsible autocollapse navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1129693374"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1239400231"><div class="navbar plainlinks hlist navbar-mini"><ul><li class="nv-view"><a href="/wiki/Template:GNU" title="Template:GNU"><abbr title="View this template">v</abbr></a></li><li class="nv-talk"><a href="/wiki/Template_talk:GNU" title="Template talk:GNU"><abbr title="Discuss this template">t</abbr></a></li><li class="nv-edit"><a href="/wiki/Special:EditPage/Template:GNU" title="Special:EditPage/Template:GNU"><abbr title="Edit this template">e</abbr></a></li></ul></div><div id="GNU_Project62" style="font-size:114%;margin:0 4em"><a href="/wiki/GNU_Project" title="GNU Project">GNU Project</a></div></th></tr><tr><th scope="row" class="navbox-group" style="width:1%">History</th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/GNU_Manifesto" title="GNU Manifesto">GNU Manifesto</a></li> <li><a href="/wiki/Free_Software_Foundation" title="Free Software Foundation">Free Software Foundation</a> <ul><li><a href="/wiki/Free_Software_Foundation_Europe" title="Free Software Foundation Europe">Europe</a></li> <li><a href="/wiki/Free_Software_Foundation_of_India" title="Free Software Foundation of India">India</a></li> <li><a href="/wiki/Free_Software_Foundation_Latin_America" title="Free Software Foundation Latin America">Latin America</a></li></ul></li> <li><a href="/wiki/History_of_free_and_open-source_software" title="History of free and open-source software">History of free software</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Licenses</th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/GNU_General_Public_License" title="GNU General Public License">GNU General Public License</a> <ul><li><a href="/wiki/GPL_linking_exception" title="GPL linking exception">linking exception</a></li> <li><a href="/wiki/GPL_font_exception" title="GPL font exception">font exception</a></li></ul></li> <li><a href="/wiki/GNU_Lesser_General_Public_License" title="GNU Lesser General Public License">GNU Lesser General Public License</a></li> <li><a href="/wiki/GNU_Affero_General_Public_License" title="GNU Affero General Public License">GNU Affero General Public License</a></li> <li><a href="/wiki/GNU_Free_Documentation_License" title="GNU Free Documentation License">GNU Free Documentation License</a></li> <li><a href="/wiki/GNAT_Modified_General_Public_License" title="GNAT Modified General Public License">GNAT Modified General Public License</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Software</th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/GNU" title="GNU">GNU</a> (<a href="/wiki/GNU_variants" title="GNU variants">variants</a>)</li> <li><a href="/wiki/GNU_Hurd" title="GNU Hurd">Hurd</a></li> <li><a href="/wiki/Linux-libre" title="Linux-libre">Linux-libre</a></li> <li><a href="/wiki/Glibc" title="Glibc">glibc</a></li> <li><a href="/wiki/Bash_(Unix_shell)" title="Bash (Unix shell)">Bash</a></li> <li><a href="/wiki/GNU_Core_Utilities" title="GNU Core Utilities">coreutils</a></li> <li><a href="/wiki/GNU_Find_Utilities" class="mw-redirect" title="GNU Find Utilities">findutils</a></li> <li><a href="/wiki/GNU_Autotools" title="GNU Autotools">Build system</a></li> <li><a href="/wiki/GNU_Compiler_Collection" title="GNU Compiler Collection">GCC</a></li> <li><a href="/wiki/GNU_Binutils" title="GNU Binutils">binutils</a></li> <li><a href="/wiki/GNU_Debugger" title="GNU Debugger">GDB</a></li> <li><a href="/wiki/GNU_GRUB" title="GNU GRUB">GRUB</a></li> <li><a href="/wiki/GNUstep" title="GNUstep">GNUstep</a></li> <li><a href="/wiki/GIMP" title="GIMP">GIMP</a></li> <li><a href="/wiki/Jami_(software)" title="Jami (software)">Jami</a></li> <li><a href="/wiki/GNU_Emacs" title="GNU Emacs">GNU Emacs</a></li> <li><a href="/wiki/GNU_TeXmacs" title="GNU TeXmacs">GNU TeXmacs</a></li> <li><a href="/wiki/GNU_Octave" title="GNU Octave">GNU Octave</a></li> <li><a href="/wiki/GNU_Taler" title="GNU Taler">GNU Taler</a></li> <li><a href="/wiki/R_(programming_language)" title="R (programming language)">GNU R</a></li> <li><a href="/wiki/GNU_Scientific_Library" title="GNU Scientific Library">GSL</a></li> <li><a href="/wiki/GNU_Multiple_Precision_Arithmetic_Library" title="GNU Multiple Precision Arithmetic Library">GMP</a></li> <li><a href="/wiki/Electric_(software)" title="Electric (software)">GNU Electric</a></li> <li><a href="/wiki/GNU_Archimedes" title="GNU Archimedes">GNU Archimedes</a></li> <li><a href="/wiki/GNUnet" title="GNUnet">GNUnet</a></li> <li><a href="/wiki/GNU_Privacy_Guard" title="GNU Privacy Guard">GNU Privacy Guard</a></li> <li><a href="/wiki/Gnuzilla" class="mw-redirect" title="Gnuzilla">Gnuzilla</a> (<a href="/wiki/GNU_IceCat" title="GNU IceCat">IceCat</a>)</li> <li><a href="/wiki/GNU_Health" title="GNU Health">GNU Health</a></li> <li><a href="/wiki/GNUmed" title="GNUmed">GNUmed</a></li> <li><a href="/wiki/LilyPond" title="LilyPond">GNU LilyPond</a></li> <li><a href="/wiki/GNU_Go" title="GNU Go">GNU Go</a></li> <li><a href="/wiki/GNU_Chess" title="GNU Chess">GNU Chess</a></li> <li><a href="/wiki/Gnash_(software)" title="Gnash (software)">Gnash</a></li> <li><a href="/wiki/GNU_Guix" title="GNU Guix">Guix</a></li> <li><a href="/wiki/List_of_GNU_packages" title="List of GNU packages"><i>more...</i></a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Contributors</th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Benjamin_Mako_Hill" title="Benjamin Mako Hill">Benjamin Mako Hill</a></li> <li><a href="/wiki/Bradley_M._Kuhn" title="Bradley M. Kuhn">Bradley M. Kuhn</a></li> <li><a href="/wiki/Brian_Fox_(programmer)" title="Brian Fox (programmer)">Brian Fox</a></li> <li><a href="/wiki/Federico_Heinz" class="mw-redirect" title="Federico Heinz">Federico Heinz</a></li> <li><a href="/wiki/William_John_Sullivan" title="William John Sullivan">John Sullivan</a></li> <li>Nagarjuna G.</li> <li><a href="/wiki/Richard_Stallman" title="Richard Stallman">Richard M. Stallman</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Other topics</th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/GNU/Linux_naming_controversy" title="GNU/Linux naming controversy">GNU/Linux naming controversy</a></li> <li><i><a href="/wiki/Revolution_OS" title="Revolution OS">Revolution OS</a></i></li> <li><a href="/wiki/Free_Software_Foundation_anti-Windows_campaigns" title="Free Software Foundation anti-Windows campaigns">Free Software Foundation anti-Windows campaigns</a></li> <li><a href="/wiki/Defective_by_Design" title="Defective by Design">Defective by Design</a></li></ul> </div></td></tr></tbody></table></div> <!-- NewPP limit report Parsed by mw‐web.codfw.main‐d8647bfd6‐z9wcn Cached time: 20250223194352 Cache expiry: 2592000 Reduced expiry: false Complications: [vary‐revision‐sha1, show‐toc] CPU time usage: 0.968 seconds Real time usage: 1.183 seconds Preprocessor visited node count: 5015/1000000 Post‐expand include size: 148207/2097152 bytes Template argument size: 4321/2097152 bytes Highest expansion depth: 14/100 Expensive parser function count: 17/500 Unstrip recursion depth: 1/20 Unstrip post‐expand size: 239048/5000000 bytes Lua time usage: 0.606/10.000 seconds Lua memory usage: 7783813/52428800 bytes Number of Wikibase entities loaded: 1/400 --> <!-- Transclusion expansion time report (%,ms,calls,template) 100.00% 1024.066 1 -total 26.26% 268.897 1 Template:Reflist 15.18% 155.502 43 Template:Cite_web 12.06% 123.517 2 Template:Wikidata 10.52% 107.776 4 Template:Navbox 10.06% 103.013 1 Template:EmacsNavbox 9.95% 101.910 1 Template:Short_description 6.40% 65.584 3 Template:Sister_project 6.34% 64.973 2 Template:Pagetype 6.13% 62.730 3 Template:Side_box --> <!-- Saved in parser cache with key enwiki:pcache:18933234:|#|:idhash:canonical and timestamp 20250223194352 and revision id 1252643809. Rendering was triggered because: page-view --> </div><!--esi <esi:include src="/esitest-fa8a495983347898/content" /> --><noscript><img src="https://login.wikimedia.org/wiki/Special:CentralAutoLogin/start?useformat=desktop&amp;type=1x1&amp;usesul3=0" alt="" width="1" height="1" style="border: none; position: absolute;"></noscript> <div class="printfooter" data-nosnippet="">Retrieved from "<a dir="ltr" href="https://en.wikipedia.org/w/index.php?title=Emacs&amp;oldid=1252643809">https://en.wikipedia.org/w/index.php?title=Emacs&amp;oldid=1252643809</a>"</div></div> <div id="catlinks" class="catlinks" data-mw="interface"><div id="mw-normal-catlinks" class="mw-normal-catlinks"><a href="/wiki/Help:Category" title="Help:Category">Categories</a>: <ul><li><a href="/wiki/Category:Emacs" title="Category:Emacs">Emacs</a></li><li><a href="/wiki/Category:1970s_in_computing" title="Category:1970s in computing">1970s in computing</a></li><li><a href="/wiki/Category:1976_software" title="Category:1976 software">1976 software</a></li><li><a href="/wiki/Category:Free_file_comparison_tools" title="Category:Free file comparison tools">Free file comparison tools</a></li><li><a href="/wiki/Category:Free_integrated_development_environments" title="Category:Free integrated development environments">Free integrated development environments</a></li><li><a href="/wiki/Category:Free_software_programmed_in_C" title="Category:Free software programmed in C">Free software programmed in C</a></li><li><a href="/wiki/Category:Free_software_programmed_in_Lisp" title="Category:Free software programmed in Lisp">Free software programmed in Lisp</a></li><li><a href="/wiki/Category:Free_text_editors" title="Category:Free text editors">Free text editors</a></li><li><a href="/wiki/Category:Hex_editors" title="Category:Hex editors">Hex editors</a></li><li><a href="/wiki/Category:Linux_integrated_development_environments" title="Category:Linux integrated development environments">Linux integrated development environments</a></li><li><a href="/wiki/Category:Linux_text_editors" title="Category:Linux text editors">Linux text editors</a></li><li><a href="/wiki/Category:MacOS_text_editors" title="Category:MacOS text editors">MacOS text editors</a></li><li><a href="/wiki/Category:OpenVMS_text_editors" title="Category:OpenVMS text editors">OpenVMS text editors</a></li><li><a href="/wiki/Category:Unix_text_editors" title="Category:Unix text editors">Unix text editors</a></li><li><a href="/wiki/Category:Windows_text_editors" title="Category:Windows text editors">Windows text editors</a></li></ul></div><div id="mw-hidden-catlinks" class="mw-hidden-catlinks mw-hidden-cats-hidden">Hidden categories: <ul><li><a href="/wiki/Category:Pages_using_the_Phonos_extension" title="Category:Pages using the Phonos extension">Pages using the Phonos extension</a></li><li><a href="/wiki/Category:CS1:_unfit_URL" title="Category:CS1: unfit URL">CS1: unfit URL</a></li><li><a href="/wiki/Category:Webarchive_template_wayback_links" title="Category:Webarchive template wayback links">Webarchive template wayback links</a></li><li><a href="/wiki/Category:Articles_with_short_description" title="Category:Articles with short description">Articles with short description</a></li><li><a href="/wiki/Category:Short_description_matches_Wikidata" title="Category:Short description matches Wikidata">Short description matches Wikidata</a></li><li><a href="/wiki/Category:Pages_including_recorded_pronunciations" title="Category:Pages including recorded pronunciations">Pages including recorded pronunciations</a></li><li><a href="/wiki/Category:All_articles_with_unsourced_statements" title="Category:All articles with unsourced statements">All articles with unsourced statements</a></li><li><a href="/wiki/Category:Articles_with_unsourced_statements_from_January_2011" title="Category:Articles with unsourced statements from January 2011">Articles with unsourced statements from January 2011</a></li><li><a href="/wiki/Category:Articles_with_unsourced_statements_from_November_2022" title="Category:Articles with unsourced statements from November 2022">Articles with unsourced statements from November 2022</a></li><li><a href="/wiki/Category:All_articles_lacking_reliable_references" title="Category:All articles lacking reliable references">All articles lacking reliable references</a></li><li><a href="/wiki/Category:Articles_lacking_reliable_references_from_January_2021" title="Category:Articles lacking reliable references from January 2021">Articles lacking reliable references from January 2021</a></li><li><a href="/wiki/Category:Articles_lacking_reliable_references_from_July_2019" title="Category:Articles lacking reliable references from July 2019">Articles lacking reliable references from July 2019</a></li><li><a href="/wiki/Category:Commons_category_link_from_Wikidata" title="Category:Commons category link from Wikidata">Commons category link from Wikidata</a></li><li><a href="/wiki/Category:Official_website_not_in_Wikidata" title="Category:Official website not in Wikidata">Official website not in Wikidata</a></li></ul></div></div> </div> </main> </div> <div class="mw-footer-container"> <footer id="footer" class="mw-footer" > <ul id="footer-info"> <li id="footer-info-lastmod"> This page was last edited on 22 October 2024, at 09:11<span class="anonymous-show">&#160;(UTC)</span>.</li> <li id="footer-info-copyright">Text is available under the <a href="/wiki/Wikipedia:Text_of_the_Creative_Commons_Attribution-ShareAlike_4.0_International_License" title="Wikipedia:Text of the Creative Commons Attribution-ShareAlike 4.0 International License">Creative Commons Attribution-ShareAlike 4.0 License</a>; additional terms may apply. By using this site, you agree to the <a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Terms_of_Use" class="extiw" title="foundation:Special:MyLanguage/Policy:Terms of Use">Terms of Use</a> and <a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy" class="extiw" title="foundation:Special:MyLanguage/Policy:Privacy policy">Privacy Policy</a>. Wikipedia® is a registered trademark of the <a rel="nofollow" class="external text" href="https://wikimediafoundation.org/">Wikimedia Foundation, Inc.</a>, a non-profit organization.</li> </ul> <ul id="footer-places"> <li id="footer-places-privacy"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy">Privacy policy</a></li> <li id="footer-places-about"><a href="/wiki/Wikipedia:About">About Wikipedia</a></li> <li id="footer-places-disclaimers"><a href="/wiki/Wikipedia:General_disclaimer">Disclaimers</a></li> <li id="footer-places-contact"><a href="//en.wikipedia.org/wiki/Wikipedia:Contact_us">Contact Wikipedia</a></li> <li id="footer-places-wm-codeofconduct"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Universal_Code_of_Conduct">Code of Conduct</a></li> <li id="footer-places-developers"><a href="https://developer.wikimedia.org">Developers</a></li> <li id="footer-places-statslink"><a href="https://stats.wikimedia.org/#/en.wikipedia.org">Statistics</a></li> <li id="footer-places-cookiestatement"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Cookie_statement">Cookie statement</a></li> <li id="footer-places-mobileview"><a href="//en.m.wikipedia.org/w/index.php?title=Emacs&amp;mobileaction=toggle_view_mobile" class="noprint stopMobileRedirectToggle">Mobile view</a></li> </ul> <ul id="footer-icons" class="noprint"> <li id="footer-copyrightico"><a href="https://wikimediafoundation.org/" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><picture><source media="(min-width: 500px)" srcset="/static/images/footer/wikimedia-button.svg" width="84" height="29"><img src="/static/images/footer/wikimedia.svg" width="25" height="25" alt="Wikimedia Foundation" lang="en" loading="lazy"></picture></a></li> <li id="footer-poweredbyico"><a href="https://www.mediawiki.org/" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><picture><source media="(min-width: 500px)" srcset="/w/resources/assets/poweredby_mediawiki.svg" width="88" height="31"><img src="/w/resources/assets/mediawiki_compact.svg" alt="Powered by MediaWiki" width="25" height="25" loading="lazy"></picture></a></li> </ul> </footer> </div> </div> </div> <div class="vector-header-container vector-sticky-header-container"> <div id="vector-sticky-header" class="vector-sticky-header"> <div class="vector-sticky-header-start"> <div class="vector-sticky-header-icon-start vector-button-flush-left vector-button-flush-right" aria-hidden="true"> <button class="cdx-button cdx-button--weight-quiet cdx-button--icon-only vector-sticky-header-search-toggle" tabindex="-1" data-event-name="ui.vector-sticky-search-form.icon"><span class="vector-icon mw-ui-icon-search mw-ui-icon-wikimedia-search"></span> <span>Search</span> </button> </div> <div role="search" class="vector-search-box-vue vector-search-box-show-thumbnail vector-search-box"> <div class="vector-typeahead-search-container"> <div class="cdx-typeahead-search cdx-typeahead-search--show-thumbnail"> <form action="/w/index.php" id="vector-sticky-search-form" class="cdx-search-input cdx-search-input--has-end-button"> <div class="cdx-search-input__input-wrapper" data-search-loc="header-moved"> <div class="cdx-text-input cdx-text-input--has-start-icon"> <input class="cdx-text-input__input" type="search" name="search" placeholder="Search Wikipedia"> <span class="cdx-text-input__icon cdx-text-input__start-icon"></span> </div> <input type="hidden" name="title" value="Special:Search"> </div> <button class="cdx-button cdx-search-input__end-button">Search</button> </form> </div> </div> </div> <div class="vector-sticky-header-context-bar"> <nav aria-label="Contents" class="vector-toc-landmark"> <div id="vector-sticky-header-toc" class="vector-dropdown mw-portlet mw-portlet-sticky-header-toc vector-sticky-header-toc vector-button-flush-left" > <input type="checkbox" id="vector-sticky-header-toc-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-sticky-header-toc" class="vector-dropdown-checkbox " aria-label="Toggle the table of contents" > <label id="vector-sticky-header-toc-label" for="vector-sticky-header-toc-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-listBullet mw-ui-icon-wikimedia-listBullet"></span> <span class="vector-dropdown-label-text">Toggle the table of contents</span> </label> <div class="vector-dropdown-content"> <div id="vector-sticky-header-toc-unpinned-container" class="vector-unpinned-container"> </div> </div> </div> </nav> <div class="vector-sticky-header-context-bar-primary" aria-hidden="true" ><span class="mw-page-title-main">Emacs</span></div> </div> </div> <div class="vector-sticky-header-end" aria-hidden="true"> <div class="vector-sticky-header-icons"> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only" id="ca-talk-sticky-header" tabindex="-1" data-event-name="talk-sticky-header"><span class="vector-icon mw-ui-icon-speechBubbles mw-ui-icon-wikimedia-speechBubbles"></span> <span></span> </a> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only" id="ca-subject-sticky-header" tabindex="-1" data-event-name="subject-sticky-header"><span class="vector-icon mw-ui-icon-article mw-ui-icon-wikimedia-article"></span> <span></span> </a> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only" id="ca-history-sticky-header" tabindex="-1" data-event-name="history-sticky-header"><span class="vector-icon mw-ui-icon-wikimedia-history mw-ui-icon-wikimedia-wikimedia-history"></span> <span></span> </a> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only mw-watchlink" id="ca-watchstar-sticky-header" tabindex="-1" data-event-name="watch-sticky-header"><span class="vector-icon mw-ui-icon-wikimedia-star mw-ui-icon-wikimedia-wikimedia-star"></span> <span></span> </a> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only" id="ca-edit-sticky-header" tabindex="-1" data-event-name="wikitext-edit-sticky-header"><span class="vector-icon mw-ui-icon-wikimedia-wikiText mw-ui-icon-wikimedia-wikimedia-wikiText"></span> <span></span> </a> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only" id="ca-ve-edit-sticky-header" tabindex="-1" data-event-name="ve-edit-sticky-header"><span class="vector-icon mw-ui-icon-wikimedia-edit mw-ui-icon-wikimedia-wikimedia-edit"></span> <span></span> </a> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only" id="ca-viewsource-sticky-header" tabindex="-1" data-event-name="ve-edit-protected-sticky-header"><span class="vector-icon mw-ui-icon-wikimedia-editLock mw-ui-icon-wikimedia-wikimedia-editLock"></span> <span></span> </a> </div> <div class="vector-sticky-header-buttons"> <button class="cdx-button cdx-button--weight-quiet mw-interlanguage-selector" id="p-lang-btn-sticky-header" tabindex="-1" data-event-name="ui.dropdown-p-lang-btn-sticky-header"><span class="vector-icon mw-ui-icon-wikimedia-language mw-ui-icon-wikimedia-wikimedia-language"></span> <span>41 languages</span> </button> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--action-progressive" id="ca-addsection-sticky-header" tabindex="-1" data-event-name="addsection-sticky-header"><span class="vector-icon mw-ui-icon-speechBubbleAdd-progressive mw-ui-icon-wikimedia-speechBubbleAdd-progressive"></span> <span>Add topic</span> </a> </div> <div class="vector-sticky-header-icon-end"> <div class="vector-user-links"> </div> </div> </div> </div> </div> <div class="vector-settings" id="p-dock-bottom"> <ul></ul> </div><script>(RLQ=window.RLQ||[]).push(function(){mw.config.set({"wgHostname":"mw-web.codfw.main-d8647bfd6-mgx4l","wgBackendResponseTime":148,"wgPageParseReport":{"limitreport":{"cputime":"0.968","walltime":"1.183","ppvisitednodes":{"value":5015,"limit":1000000},"postexpandincludesize":{"value":148207,"limit":2097152},"templateargumentsize":{"value":4321,"limit":2097152},"expansiondepth":{"value":14,"limit":100},"expensivefunctioncount":{"value":17,"limit":500},"unstrip-depth":{"value":1,"limit":20},"unstrip-size":{"value":239048,"limit":5000000},"entityaccesscount":{"value":1,"limit":400},"timingprofile":["100.00% 1024.066 1 -total"," 26.26% 268.897 1 Template:Reflist"," 15.18% 155.502 43 Template:Cite_web"," 12.06% 123.517 2 Template:Wikidata"," 10.52% 107.776 4 Template:Navbox"," 10.06% 103.013 1 Template:EmacsNavbox"," 9.95% 101.910 1 Template:Short_description"," 6.40% 65.584 3 Template:Sister_project"," 6.34% 64.973 2 Template:Pagetype"," 6.13% 62.730 3 Template:Side_box"]},"scribunto":{"limitreport-timeusage":{"value":"0.606","limit":"10.000"},"limitreport-memusage":{"value":7783813,"limit":52428800}},"cachereport":{"origin":"mw-web.codfw.main-d8647bfd6-z9wcn","timestamp":"20250223194352","ttl":2592000,"transientcontent":false}}});});</script> <script type="application/ld+json">{"@context":"https:\/\/schema.org","@type":"Article","name":"Emacs","url":"https:\/\/en.wikipedia.org\/wiki\/Emacs","sameAs":"http:\/\/www.wikidata.org\/entity\/Q189722","mainEntity":"http:\/\/www.wikidata.org\/entity\/Q189722","author":{"@type":"Organization","name":"Contributors to Wikimedia projects"},"publisher":{"@type":"Organization","name":"Wikimedia Foundation, Inc.","logo":{"@type":"ImageObject","url":"https:\/\/www.wikimedia.org\/static\/images\/wmf-hor-googpub.png"}},"datePublished":"2001-11-06T22:14:32Z","dateModified":"2024-10-22T09:11:58Z","headline":"family of text editors"}</script> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10