Emacs on Aqua



NOTE: This project is superseded by Emacs.app, which is based on a later version of the GNU Emacs core.

Version 9.0-pre3 or later of that project includes a binary, and functionality is better than Emacs on Aqua. However, if you are running OS X 10.1 (Puma) or 10.2 (Jaguar), you cannot use it. On a slower machine (400 MHz) you may also want to consider Emacs on Aqua.

This is GNU Emacs ported to OS X and GNUstep, based on the earlier Rhapsody, OpenStep, and NeXTstep versions. Those primarily responsible for the port (in chronological order) were:

Carl Edman (NeXTStep)
Michael Brouwer (NeXTStep)
Christian Limpach (NeXTStep)
Scott Bender (OpenStep)
Christophe de Dinechin (Mac OS X)
Adrian Robert (GNUstep)

GNU Emacs is due to Richard Stallman and company. More credits info here.

This port offers superior platform support for MacOS X and GNUstep, including full desktop integration (dock, drag/drop, etc.), standard keybindings, use of standard Font, Color, and File open/save panels, and support for Services. Via GNUstep, it provides anti-aliased font rendering on Linux and other Unix systems.

The port is based on GNU Emacs 20.7, which is one behind the latest released version. Emacs 21 added mostly UI features, not core editing functionality. The UI is nicer though and furthermore some Lisp packages have started requiring Emacs 21. So there are plans to update this port to version 23 (the unicode-internal counterpart version of the next version that will be released) once the 20.7-based version is fully stabilized. See the Emacs.app project to get involved.


Version 8.0.2

It is very stable on OS X Panther, largely stable on OS X Tiger (usually OK for hours / tens of buffers), and stable on some GNUstep installations (see README). It should work on Jaguar and Panther but testing is not very extensive there, and you may need to recompile yourself.

Usage: See README for usage information.


Get it from the SourceForge file download area.

Note: You must download the correct .dmg for your version of OS X. If you have Panther or Tiger (10.3 or 10.4; the more recent versions), use "Emacs_MacOSX_Panther_or_Tiger.dmg". If on the other hand you have Puma or Jaguar (10.1 or 10.2; Puma users, you may be unable to open the .dmg due to a checksum error; please let me know if you encounter this problem.

Debian package available courtesy of Gürkan Sengün.

Patches and/or other contributions are very welcome. Please send to me.

Release History

8.0.22005/11/05 Correct rendering for wide characters during cursor movement. Fix bungled hack in ispell bundling. Window size now displayed on resizes under OS X.
8.0.12005/9/26 Correct clipped rendering for synthetic italics. Include the info directory. Fix grabenv. Bundle whitespace package.
8.02005/9/12 Bundled ispell on OS X. Minor bug fixes and stability improvements. Compiles under gcc-4.
8.0-rc52005/8/4 All internal string handling changed to UTF-8. This means menu items, color and color list names, and a few other things will now display properly. It does NOT mean UTF-8 filenames are displayed correctly in the minibuffer. Also relating to UTF-8, contents of files using this coding can now be displayed (though not auto-recognized; add extensions to your default coding alist). Limited mac-roman support was also added (again sans recognition). Certain characters are not displayed properly due to a translation problem. (UTF-8 based on work by Otfried Cheong; mac-roman from emacs-21.) Partial support for "dead-key" handling now added. Transparency (e.g., M-x set-background-color ARGB88ffffff) improved: only the background is made transparent. Cursor drawing glitches fixed. Preferences handling improved. Fixed some portability problems on Tiger and Puma.
8.0-rc42005/7/5 Added a Preferences panel. Cleaned up rendering for synthetic italic fonts. Further improved menu parsing. Use system highlight color. Added previous- and next-mark history navigation commmands bound to M-p,M-n. Miscellaneous bug fixes.
8.0-rc32005/5/30 Fixed bug with parsing of "easymenu" menus. Many problems with modes such as SLIME, Matlab, and Planner go away. Improved scrollbar handling and rendering speed. Color panel and other bug fixes. Font handling improvements (OS X 10.3, 10.4): heed 'GSFontAntiAlias' default, heed system antialiasing threshold, added 'UseQuickdrawSmoothing' default to invoke less heavy antialiasing.
8.0-rc22005/3/30 "Configure" info directory now uses dynamic path setting, so info files can go under .app. Improved select() handling and PTY fixes so shell mode and tramp run smoothly. Significant rendering enhancements. Now works under Art backend under GNUstep. Non-Latin text rendering works (but not fontsets), and LEIM is bundled. UTF8 is used for clipboard interaction. Arrow cursor now used on scrollbar. Objc-mode and tramp now bundled in site-lisp.
8.0-rc12005/3/07 Dynamic path detection at startup so Emacs.app can be moved anywhere. Added binary packages and simplified source installation to running two scripts. Thorough cleanup of menu code; now fully functional. Fixed all detected memory leaks. Minor frame focus and title bugs fixed. Mac installer package available, with GNUstep installer coming soon.
8.0-pre32005/1/27 Bold and italic faces supported. Cursor and mouse highlighting rendering bugs fixed. Drag/drop and cut/paste interaction w/external apps fixed. File load/save panels available. Stability and rendering speed improvments. Some ObjC and VC mode bugs fixed. More code cleanup.
8.0-pre22004/11/4 Restored functionality on OS X (menu code cleanup). Improved scrollbar handling and paste from other applications. File icons obtained properly from NSWorkspace. Dropped Gorm and Nib files. Background refresh bug fixed (in GNUstep). Various small fixes and code cleanups.
8.0-pre12004/10/7 Initial support for GNUstep.

Other Versions of Emacs for OS X and/or GNUstep

While GNU Emacs and XEmacs both offer X-Windows graphical versions that run on these platforms, this is currently the only version of Emacs that runs under the Cocoa / GNUstep APIs.

For OS X, a Carbon-based Emacs interface has been incorporated into GNU Emacs CVS development. (Carbon is the OS X legacy interface for MacOS 9 applications, but from a user perspective Carbon apps are indistinguishable from modern Cocoa apps.) You can download source and compile by going to the GNU Emacs link above, or search for prepackaged versions.

November, 2005