'Mother of all editors' Emacs is 50

No lesser authority than the MIT Technology Review says that the Emacs editor has turned 50 years old. But then, it is biased — Emacs was invented in MIT's AI lab.

Simson Garfinkel's article is simply called EMACS turns 50, but the sub-heading explains why it matters more:

There are multiple timelines and accounts of the origins of Emacs, and it is not a single monolithic application. The name is an abbreviation for "diting ro", and the original editor for which this set of macros was developed was TECO – "Text Editor and COrrector," written by Dan Murphy in 1962. Murphy died earlier this year at the age of 83.

The inimitable Jamie Zawinski has an encyclopedic Emacs Timeline – as he mentions at the start, his interest being that he long ago maintained a fork of GNU Emacs, originally called Lucid Emacs. It's still around, under its later name XEmacs. There are a of forks and re-implementations of Emacs out there, and we are not going to go into all of them, or this article would become a book – one only interesting to programmer-archeologists (to use a term coined by the late great Vernor Vinge).

As for who originally wrote those Editing Macros, though, another history has quotations from several of the people involved: On the Origin of Emacs in 1976. (Note – some of the quotes still contain the | symbols that marked quoted text.)

This credits Lisp boffin Guy L. Steele Jr with the original work in 1975, but in it, Steele says:

"RMS is responsible for the names 'E' and 'EMACS'. RMS still deserves 99% or 99.9% or 99.99% or 99.999% of the credit for taking a package of TECO macros and turning it into the most powerful editor on the planet."

RMS is of course Richard Stallman, and the page also quotes some emails from RMS on October 23 and 31, 1976. Mind you, just a few years after the event, in a 1981 talk now preserved on the GNU website, Stallman said, "I began the development of EMACS in 1974 with an improvement to TECO". Like all the best FOSS, even in its very early stages, it was a collaborative effort – but around late October 1976 is when RMS took over the bulk of the development.

Of the many forks of Emacs over its half a century of development, some are still just about hanging on in there. When we looked up the link for XEmacs, we were surprised to see that there was a new release: XEmacs 21.5.37 "lettuce" appeared just last month. And even the forks have forks: in this case, SXEmacs, last updated in 2020.

Most of the changes in XEmacs and SXEmacs eventually made their way back upstream to GNU Emacs, which is still in active development, although as reported in 2008, RMS is no longer the primary maintainer. GNU Emacs 31.1 appeared in August.

Cards on the metaphorical table: this vulture is not an Emacs user. We have tried. A major influence was one of the FOSS desk's favorite writers, Neal Stephenson, who in 1999 published an essay called In the Beginning… Was the Command Line. (It was later republished as a rather short book, but the text is still online.) In it, he says:

"In the GNU/Linux world there are two major text editing programs: the minimalist (known in some implementations as ) and the maximalist . I use emacs, which might be thought of as a thermonuclear word processor. It was created by Richard Stallman; enough said. It is written in Lisp, which is the only computer language that is beautiful. It is colossal, and yet it only edits straight ASCII text files, which is to say, no fonts, no boldface, no underlining. In other words, the engineer-hours that, in the case of Microsoft Word, were devoted to features like mail merge, and the ability to embed feature-length motion pictures in corporate memoranda, were, in the case of emacs, focused with maniacal intensity on the deceptively simple-seeming problem of editing text. If you are a professional writer–i.e., if someone else is getting paid to worry about how your words are formatted and printed–emacs outshines all other editing software in approximately the same way that the noonday sun does the stars."

Emacs is 50-plus-year-old software, and it shows. This is a huge and complicated program: decades ago, the joke was that EMACS stood for "Eight Megs And Constantly Swapping". It is not an easy program to learn. Despite lavish documentation and a built-in tutorial, this is software so old that its terminology predates microprocessors and the personal computer.

Its exhaustive manual is 804 pages long, and to pick some trivial examples, its terms for parts of the screen use “frame” to mean what’s now called a window, and “window” to mean what’s now called a pane. In the section on Keys, it discusses the and keys. That’s a slight snag: you don’t have a Meta key, and neither do the authors of Emacs. It was a key on the now almost legendarily rare Space Cadet Keyboard, of which the Deskthority keyboard wiki says:

“It is known as the holy grail of keyboards.”

You can buy a modern replica, the Keymacs keyboard. They are hand-made in the Czech Republic, and depending on exactly what model and specifications you want, they cost from €2,998 for the Lispsaver up to €6,878 for the A624N Space Cadet.

In other words, you can have a keyboard with a real Meta key if you want, but it is going to cost you.

One of the problems with these historical terms, unfamiliar to anyone who wasn’t already programming in the 1970s, is that meanings drift. In the context of Emacs, "Meta" means Alt, or Opt on Macs. However, KDE also uses the Meta key – but what the KDE documentation calls "Meta" is the Windows key – or Command on Macs. Like most Linux folks, the GNOME documentation calls it the Super key.

Names are important. They matter. Who's right, the Emacs folks or the KDE folks? Well, neither: has Meta keys any more. We have Ctrl, Alt, and Cmd/Super/Windows.

There have been valiant efforts to modernize Emacs and bring it into line with modern UI and terminology. This vulture tried to learn Aquamacs, which modernized Emacs with a native macOS UI, but sadly it's no longer maintained.

Another, which we enjoyed trying, is ErgoEmacs, which changes the key bindings and rearranges the UI into something much more like the IBM Common User Access arrangement, as used in Windows and most Linux desktops. However, it never really caught on and you need to know your way around Emacs to install it and configure it for your regional keyboard layout.

So complex is it to configure Emacs that there are multiple pre-configured distributions of Emacs, such as Doom Emacs, or the minimalist Emacs Solo. We wish someone did a "CUA-Macs" config, with ErgoEmacs  integrated and able to pick up your existing keyboard config.

Come to that, the Gershwin Desktop project that we mentioned along with GhostBSD last year is in active development, and it's based around GNUstep. Maybe its developers could pick up Aquamacs, and adapt it to GNUstep.

There is a long history of such Emacs facelifts. One instance is Borland’s Sprint word-processor, one of the selling points of which was that it could emulate the user interfaces of most of the leading MS-DOS word-processors of its day (just before they all converged on IBM CUA). Before Borland acquired it, Sprint was called , developed by musical equipment makers Mark of the Unicorn. FinalWord was based on an Emacs clone called MINCE.

Another well-known Emacs distribution is Spacemacs, which adapts Emacs to have a more Vi-like user interface.

Vi is the seminal Unix text editor, as the Stephenson quote above mentions. As this article on Origins and the Evolution of Vi & Vim notes, it too dates back to 1976. Indeed, that’s the reason we chose the year in this story: Tilde, a text editor that doesn’t work like it’s 1976. One feature of Tilde we enjoy is that it supports use of the mouse even on the Linux console – which is the headline new feature of GNU Emacs 31.1.

Vi is very much alive and well today. GNU Emacs is based on the original source code, but Vi mainly survives as re-implementations. The recreation Stephenson mentions, Elvis, lives on today in the form of nvi.

However, by far the best known is Vim, maintained by Bram Moolenaar until his death in 2023. In the grand FOSS forking tradition, it too has forks, including Neovim, as used in Omarchy, and more recently, the AI-free Vim Classic – a new project led by Drew DeVault, who just launched the similarly LLM-free AlpineBSD. ®

Original source 'Mother of all editors' Emacs is 50

Back to home