You're viewing the readable version of this site. The interactive extras (search, diagrams, read-aloud) need JavaScript and a current browser. Enable JavaScript; if it is already enabled, update your browser.

Notes · Archive

evergreen

I like the way Aquamacs looks. I don’t use it because it feels different

Why I keep stock GNU Emacs over Aquamacs — one consistent editor across every OS.

· · 3 min read

emacs, tools, archive

Cite this
APA
Mangalapilly, Y. J. (2009, December). I like the way Aquamacs looks.  I don’t use it because it feels different. Saṃhitā Notes. https://yesudeep.com/blog/aquamacs-vs-stock-emacs/
BibTeX
@online{mangalapilly2009i,
  author  = {Yesudeep Jose Mangalapilly},
  title   = {I like the way Aquamacs looks.  I don’t use it because it feels different},
  journal = {Sa\d{m}hit\=a Notes},
  year    = {2009},
  month   = {December},
  url     = {https://yesudeep.com/blog/aquamacs-vs-stock-emacs/},
  urldate = {2026-07-09},
}
Plain
Yesudeep Jose Mangalapilly. “I like the way Aquamacs looks.  I don’t use it because it feels different.” Saṃhitā Notes, 2009. https://yesudeep.com/blog/aquamacs-vs-stock-emacs/.
RIS
TY  - ELEC
AU  - Mangalapilly, Yesudeep Jose
TI  - I like the way Aquamacs looks.  I don’t use it because it feels different
T2  - Saṃhitā Notes
PY  - 2009
UR  - https://yesudeep.com/blog/aquamacs-vs-stock-emacs/
Y2  - 2026-07-09
ER  - 

Note

Originally published on my old WordPress blog in 2009. Preserved here with its original date; the original is still online. The repository dance below is a time capsule: Emacs was on CVS with a git mirror in 2009, moved to Bazaar (2009–2014, when repo.or.cz was the recommended mirror), and since November 2014 the canonical repo is git on Savannah — today you would clone https://git.savannah.gnu.org/git/emacs.git. The --with-ns build steps still work. Refreshed in July 2026 with captions and a diagram of the two install targets.

Emacs is the extensible, customizable, self-documenting real-time display editor. — Richard Stallman, GNU Emacs Manual (1985)

  • Why stock GNU Emacs wins over specialized GUI forks for cross-platform muscle memory.
  • How --with-ns builds a native macOS GUI application bundle from standard GNU source.
  • How --prefix=/usr/local and --without-x produce a clean, scriptable terminal install.

One of the many reasons I use Emacs (created by Richard Stallman) is because it gets rid of the “which editor do I use on this OS” problem for me. I'm constantly switching between multiple OSes and having to remember different key-bindings, different functionality, and different user interfaces for different editors/OSes is a major pain. Yes, I prefer using the keyboard to the mouse even on OS X. And Emacs allows me to memorize only one such set.

Now, I can use Aquamacs (designed by David Reitter) on OS X, but I don't really think it fits my brain. GNU Emacs, on the other hand, gives me the same “classic” feeling of using it on, say, a Linux OS. Also, accessing Aquamacs from the terminal to do a batch compile of elisp modules is a pain. It doesn't use standard Emacs options and breaks builds for various packages.

Therefore, I ended up removing Aquamacs and installed the build from emacsformacosx.com. But its days were numbered as well. Again, symlinking it and using it in the Terminal is easy, but batch-compiling things fails miserably with errors about architecture dependent locations missing and what-not.

So I decided to build Emacs from the source code. I had all the concerned developer tools and libraries installed so I simply fetched Emacs from the git tree and built two versions–one for the GUI and one for the terminal.

The configure flag chooses the install shape. The same Emacs source tree can become a macOS app bundle with --with-ns or a shell-first install under /usr/local with --prefix.


+=$ git clone git://git.savannah.gnu.org/emacs.git=+\\ =# Update: The repository URL has changed.=
=$ git clone git://repo.or.cz/emacs.git=\\ =$ cd emacs/=

GNU Emacs for the GUI


$ ./configure --with-ns     # <-- No --prefix=...
$ make bootstrap
$ make -j4
$ make install        # Yes without sudo.
$ sudo cp -r nextstep/Emacs.app /Applications/Emacs.app

Building GNU Emacs as a macOS application bundle. Omitting --prefix lets make install create the NeXTSTEP app.

GNU Emacs for the Console


$ ./configure --prefix=/usr/local --without-x     # with --prefix=...
$ make bootstrap
$ make -j4
$ sudo make install        # With sudo.

Building GNU Emacs for the shell. --prefix=/usr/local turns make install into a conventional Unix install.

If you do not include a --prefix argument to the configure script and use the --with-ns option, you will end up building an application bundle when you type make install. On the other hand, specifying it without using the --with-ns option means you want make install to install it for use with a shell.

Now I have Emacs installed just the way I wanted.

Lessons

  • Specialized GUI editor forks customize option handling and path defaults to match desktop conventions, breaking headless CLI invocations and batch automation.
  • Building stock GNU Emacs with --with-ns generates a native Cocoa application bundle, while passing --without-x builds a pure terminal binary.
  • Standardizing on stock upstream tools preserves keybindings, initialization files, and muscle memory uniformly across macOS, Linux, and BSD.

Practice

References

  1. Richard Stallman. “GNU Emacs Manual.” Free Software Foundation, 1985. — the canonical guide to extensible editing and portable muscle memory
  2. David Reitter. “Aquamacs — Emacs for Mac OS X.” Aquamacs Project, 2005. — the Mac-native Emacs distribution with Aqua keybindings and tabs
  3. Free Software Foundation. “Building Emacs on macOS.” GNU Emacs Installation Guide, 2014. — technical details of the --with-ns build configuration

How to cite

APA
Mangalapilly, Y. J. (2009, December). I like the way Aquamacs looks.  I don’t use it because it feels different. Saṃhitā Notes. https://yesudeep.com/blog/aquamacs-vs-stock-emacs/
BibTeX
@online{mangalapilly2009i,
  author  = {Yesudeep Jose Mangalapilly},
  title   = {I like the way Aquamacs looks.  I don’t use it because it feels different},
  journal = {Sa\d{m}hit\=a Notes},
  year    = {2009},
  month   = {December},
  url     = {https://yesudeep.com/blog/aquamacs-vs-stock-emacs/},
  urldate = {2026-07-09},
}
Plain
Yesudeep Jose Mangalapilly. “I like the way Aquamacs looks.  I don’t use it because it feels different.” Saṃhitā Notes, 2009. https://yesudeep.com/blog/aquamacs-vs-stock-emacs/.
RIS
TY  - ELEC
AU  - Mangalapilly, Yesudeep Jose
TI  - I like the way Aquamacs looks.  I don’t use it because it feels different
T2  - Saṃhitā Notes
PY  - 2009
UR  - https://yesudeep.com/blog/aquamacs-vs-stock-emacs/
Y2  - 2026-07-09
ER  - 

Annotations

Thank you — your note is held for review and will appear once approved.

Thank you — your note is published.

Please sign in below to leave a note.