![]() |
![]() |
This is a port of the latest GNU Emacs source to the OpenStep (or NeXTstep) APIs, as implemented by Cocoa on OS X as well as the GNUstep open source project. It runs on OS X 10.3 ("Panther") and 10.4 ("Tiger"), as well as GNUstep on Linux. It may also work on other GNUstep platforms, including FreeBSD and NetBSD. It probably needs more work to run on Solaris and Windows. On OS X, 10.1 and 10.2 are not supported due to the absence of certain APIs supporting explicit character layout in text rendering.
On the Mac, this port differs from "Carbon" ports of GNU Emacs in that it makes a more concerted attempt from the ground up to follow OS X desktop and UI conventions (without, however, limiting in any way what you can already do with Emacs). In addition, it runs on non-Mac platforms via the free GNUstep implementation of OS X's Cocoa APIs.
Version 9.0-rc3
See below for release notes, here for ChangeLog.
This release is close to 9.0 final. Please report problems on the mailing list or the SourceForge bug tracker. (If the latter, please do so while logged in to SourceForge so we can follow up.)
Note that the unicode-2 branch of the core GNU emacs this is based on is itself considered beta status, and we are releasing off of a CVS snapshot, not a public release.
A "universal" binary application for OS X is available as a disk image.
The source code is made available in two forms: as a monolithic tarball and as a combination patch against GNU emacs CVS plus mini-tarball of just the added files. Unless you are interested in examining which files the port adds and changes, you should use the big tarball.
Get it here.
Note: you can check out GNU emacs CVS like this:
cvs -z3 -d:pserver:anonymous@cvs.savannah.gnu.org:/sources/emacs co emacs
A Debian package (take both .debs) is available, and
a FreeBSD port is also available, both thanks to the efforts of Gürkan Sengün.
After unpacking the distribution:
cd nextstep
./compile
This should result in Emacs.app under nextstep/build/. You can
move this anywhere for installation.
The above will do a self-contained build, in which the lisp code is stored inside the .app package itself. To store the lisp in a common location to share with other emacs 23 instances, do, for example:
cd nextstep
./compile --shared-lisp=/usr/local
To select an additional lisp path for prepending use, e.g.:
./compile --enable-local-lisp-path=~/Library/Preferences/Emacs
Please read nextstep/USAGE.txt
(or here) for tips and tricks.
Adrian Robert. However for issues and bug reports it is better to use the emacs-app-dev-@lists.sourceforge.net mailing list than contact me directly. (Anti-spam: sign up required to post, but it's very low traffic. ;).
Assistance fixing bugs is welcome. Please contact the maintainer, or better yet, the mailing list.
This port is tentatively scheduled to be included into GNU Emacs CVS some time after the release of 22.2 and the merge of the unicode-2 branch to the trunk.
Therefore, for major contributions, copyright assignments to the Free Software Foundation (FSF) will be required, as for all FSF/GNU projects. This is a painless process, and ensures that lawyers can have fun without bothering you in the future. Small patches, of less than 15 lines, do not require copyright assignment.
Please see the known issues for info on work remaining on the port. For anything else you notice, please report it as a bug on the Sourceforge bug tracker.
Emacs.app depends on the earlier efforts of many people in
creating the port now known as "Emacs on Aqua" -- and of course on GNU
Emacs itself. See the credits
page for more information.
| Version | Date | Changes |
|---|---|---|
| 9.0-rc3 | 2007/11/20 | Integrated the multi-TTY functionality from emacs core (however, mixed TTY and GUI sessions are not working yet). Support 10.5. Give site-lisp load precedence over lisp and add a compile option to prefer an additional directory, use miniaturized miniwindow images in some cases, rename cursor types for consistency w/other emacs terms, improved font selection for symbol scripts. Bug fixes: fringe and bitmap, frame deletion, resizing, cursor blink, workspace open-file, image backgrounds, toolbar item enablement, context menu positioning. |
| 9.0-rc2a | 2007/09/20 | Interim release. New features: composed character display, colored fringe bitmaps, colored relief drawing, dynamic resizing, Bug fixes: popup menu position and selection, font width calculation, face color adaptation to background, submenu keyboard navigation. NOT TESTED ON GNUSTEP. |
| 9.0-rc2 | 2007/09/10 | Improve menubar, popup menu, and scrollbar behavior, let accented char entry work in isearch, follow system keymap for shortcut keys, fix border and box drawing, remove glitches in modeline drawing, support overstrike for unavailable bold fonts, fix XPM related crasher bugs. Incremental font metrics caching and other performance improvements. Numerous minor fixes. Shared-lisp builds now possible. |
| 9.0-rc1 | 2006/12/24 |
Reworked font handling and text rendering to use Kenichi Handa's new
font back-end system. (Start up with
'--disable-font-backend' to use old system; this will be
removed in a future release.) Font sets are now supported and
automatically created when a font is selected. Added recent X11
colors to Emacs.clr (remove ~/Library/Colors/Emacs.clr to
pick up). Added ns-option-modifier,
ns-control-modifier, ns-function-modifier
customization variables. Updated menus to Emacs 21+ conventions.
Right mouse button now generates mouse-3 events. Various bug fixes
and rendering improvements.
|
| 9.0-pre3 | 2006/06/08 |
Major upgrade to keyboard handling: system-selected compositional
input methods should now work, as well as more keys / keyboards. XPM,
toolbar, and tooltip support. Some improvements to scrollbars,
zooming, italic rendering, pasting, Color panel. Added function
ns-set-background-alpha to work around inability to
customize with numeric colors.
|
| 9.0-pre2 | 2005/11/11 | Fix crashes for deiconifying and loading certain images. Improve vertical font metrics (fixes inaccurate page up/down, window size, and partial lines). Support better remapping of Alt/Opt and remapping of Command. More insistent defaulting of scrollbar to right. Modest improvements to build process. |
| 9.0-pre1 | 2005/11/05 | Initial release based on emacs CVS "unicode-2" codebase. |
| November 20, 2007 |