[image of the Head of a GNU]

GNU Emacs for Mac OS X

 [image of the Head of a GNU]

This is extrememly out of date. You almost certainly don't want to download anything or follow any of the directions posted here. I haven't hacked on Emacs itself for a number of years now—Now that there's native macOS support in Emacs, I'm happy.

I still make macOS builds here.

Emacs 21.3.50 for Mac OS X 10.3

I don't have a build that will work on 10.3 yet. I admit I've been somewhat lazy in that regard. :-) For now, you can get a fine binary from Alex Rice's page. I've been using it for a while and its great.

If you have previously installed the Emacs below on your 10.3 system, you may want to see the FAQ entry on how to remove emacs.

The sort-of-latest (as of a year ago): Emacs 21.3.50 for Mac OS X 10.2.1 - 10.2.8 (but not 10.3)!

Andrew Choi has been working with the Emacs guys to deliver support for Mac OS 9 and Mac OS X right out of the main Emacs distribution. Emacs 21.4 will be the first official Emacs release with Mac OS X support built in. Andrew isn't going to put together a Mac OS X binary release until Emacs 21.4 so in the meantime I have compiled and packaged up a build from the Emacs 21.3 pre-release source code.

If you were put off by Emacs 20.7 because of the lack of menus and scrollbars then Emacs 21 is for you!

Alex Rice has a binary version of emacs available from his web site as well: http://mindlube.com/developer/.

Version 21.3.50-2002-11-26 BETA!: This works with Mac OS X 10.2.1 through 10.2.8 (but not 10.3).
This build is based on a CVS snapshot from 11/26/2.

Important Notes About Version 21.3.50-2002-11-26:

  • This version installs a shell script in /usr/bin/emacs that launches the Aqua Windowed version of emacs. If you want the terminal version of emacs instead, run "emacs -nw".

Version 21.3.50-2002-11-12 BETA!: This only works with Mac OS X 10.2.2!
This build is based on a CVS snapshot from 11/12/2.

Version 21.3.50 BETA!: This only works with Mac OS X 10.2 and 10.2.1!

Important Notes About Version 21.3.50:

  • This is a pre-release version of Emacs. It is *NOT* final and there will be some bugs. Please be aware that this is a very unofficial version of Emacs.
  • This version installs itself into /usr, so your command line "emacs" will be upgraded to 21.3.50 as well. You have to run emacs from the command line like this: "emacs -nw", otherwise you will see a segmentation fault. If you don't want this, then after installing emacs 21.3, copy /usr/bin/emacs-21.1 to /usr/bin/emacs. That will make the emacs that came with 10.2 the default from the command line again.

Quick FAQ:

  1. How do I get emacs to default to my home directory when I open a file?
    • Add this to your ~/.emacs file:
      (if (equal default-directory "/") (setq default-directory "~/"))
  2. How do I get emacs to use option as my meta key?
    • Add "(setq mac-command-key-is-meta nil)" to your .emacs file.
  3. I'm missing the last few lines of compiler output!
    • Add "(setq process-connection-type nil)" to your .emacs file.
  4. All these different versions are confusing me!
    • Yeah, me too. :-) This version madness should be fixed in the latest version.
  5. I hate you, your family, and your Emacs. How do I uninstall this stinking pile of monkey crap?
    • Whoah... settle down, Sparky. If you want Apple's old, boring, console-only emacs back, type this in terminal: "sudo ln -f /usr/bin/emacs-21.1 /usr/bin/emacs". Viola. (Similarly, to get the nice, new, beautiful, Aqua windowed Emacs back, type this: "sudo ln -f /usr/bin/emacs-21.3.50 /usr/bin/emacs".)

Version 21.1: This only works with Mac OS X 10.1.x.

Note: There is a small bug in my packaging that causes Emacs to err when it looks for certain files (like the tutorial). I have come up with a quick fix: Put this incantation into your ".emacs" file:

(setq data-directory (expand-file-name "etc" installation-directory))

or paste it into the "scratch" buffer (the first window that comes up) and then hit ctrl-j. I will work on a better solution...

The source I used to build this is the stock emacs 21 source code with Andrew Choi's emacs 21 OS X patch applied. The main Emacs for Macintosh page is here.


Old Emacs 20 info:

About...

[Carbon] Emacs for Mac OS X is a port of Emacs for Mac OS X. It is based off of Apple's Darwin port of Emacs and Andrew Choi's Classic Mac OS port of Emacs.

Benefits

The main benefit of Carbon Emacs over terminal Emacs is that Carbon Emacs allows you to use font-lock (multi-color text). Minor benefits are the fact that Carbon Emacs can distinguish between more kepresses than terminal emacs (such as control-1) and, of course, the cool icon that shows up in the Dock.

News

Emacs.app now runs on the release version of Mac OS X. Very much thanks to Andrew Choi who provided the unexec fix. I know I'm slow but at least its finally here...

Future Plans

Next up is helping Andrew Choi with Emacs 21 for OS X rather than improving Emacs 20 any more. Emacs 21 is a significant upgrade and I feel my time is better spent on getting the latest Emacs up and running. However, I do tend to work slow so I'm not sure when this will be done. This is a hobby after all. :-)

Not implemented yet

  • Menus - Yes that means you can only use the keyboard (the way emacs was meant to be! :-P).
  • Scrollbars

Known Bugs

  • If you launch it from the terminal, you have to hit return in the terminal before you can click in the new window.
  • Multiple frames do not work yet. It looks like the internal window list is getting corrupted so that get-next-window (sp?) hangs in an infinite loop. Workaround: Don't open a second frame! :-)
  • Activating the window sets the point. Macs shouldn't do this.
  • Not really a carbon bug, but Emacs (even the pure Darwin Emacs) doesn't always get the last buffer of a subprocess after the subprocess finishes. It seems to happen all the time in carbon mode, but only sometimes in terminal mode.

Getting the Mac OS X 20.7-2 executable

It should unpack just fine with the stuffit expander that comes with OS X. If it tries to launch the Classic version of stuffit expander, don't let it because that won't work. If that happens go find stuffit expander in the "Utilities" fodler in your OS X "Applications" folder and drop the tar.gz file right on it.

Getting the Mac OS X 20.7-2 source code


Old Mac OS X Beta Stuff:

Getting the Mac OS X Beta executable

Unpack this with OpenUp. Get OpenUp here if you don't have it. Stuffit Expander will not uncompress these properly. Or, if you download Emacs.app.tar.gz you may type "tar xzf Emacs.app.tar.gz" in the terminal if you feel so inclined. :-)

Getting the source

Compiling

(I assume your CVSROOT environment variable is all set up.)
  • If you want to get from apples CVS dir and then patch it:
    • cvs -z4 checkout emacs
    • cd emacs/emacs
    • patch -p1 < ../../CarbonEmacs10-23-0.diff
  • ./configure --with-mac-windows
  • make
  • src/emacs
NOTE: You may have to byte compile lisp/startup.el and lisp/term/macterm.el. M-x byte-compile-file is how I did it.
Last Modified on: Jul 29, 2021 15:21pm