emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

ANN: Emacs.app 9.0-pre1


From: Adrian Robert
Subject: ANN: Emacs.app 9.0-pre1
Date: Sat, 5 Nov 2005 15:51:38 -0500

Hi all,

I'm happy to announce an initial release of the GNUstep / Cocoa port based on the unicode-2 branch:

http://emacs-app.sf.net/

It's available (see the site) both as a patch to 2005/11/05 CVS (+ mini-tarball) or a monolithic tarball. It should build and run on Mac OS X 10.3 and 10.4, and GNUstep on at least Linux (that's the only system I have for testing).


What works:

- all the basics
- fringes
- proportional text
- images (except XPM)
- boxes/borders, etc.


What doesn't work:

- toolbars
- tooltips


What has glitches:

- non-ascii text rendering and keyboard handling
- font and font size selection
- ctrl-g handling (interrupt input is not (yet) used)
- image backgrounds (e.g., gnus)

For the last, note that images are displayed via compositing, so the problem only comes up for images without an alpha layer whose background does not match the local face.


Why this Port?

Although there is already an existing port of GNU Emacs to Mac OS X, the "Emacs.app" port offers three advantages over it:

1) it runs in addition on the free GNUstep implementation of the Mac's Cocoa APIs (which are based on NeXT/OpenStep);

2) it makes a more concerted attempt to take advantage of the desktop / UI facilities both OS X and GNUstep offer for font and color selection, setting preferences, and so on, without compromising emacs's functionality;

3) because Cocoa is a higher-level API than Carbon, the windowing code is about half the size, and hopefully correspondingly easier to maintain.

On the other hand, the Carbon port supports OS X 10.1 and 10.2, plus Mac OS 8 and 9, and it is currently more complete, bug-free, and probably more stable than Emacs.app.


Why the 9.0 version number?

Emacs.app actually dates back to the early 1990s when Emacs 19 was ported to the NeXT computer. The NeXTstep windowing APIs used on that machine became the basis for first OpenStep, then Rhapsody, then MacOS X. Emacs.app has been kept updated by various people for most of that time.


What about Emacs 22?

I believe Emacs.app could trivially be converted to work off of the CVS Head codebase, however without some additional Mule <-> UTF conversion code I embedded into Emacs on Aqua, it will not render non-ASCII characters. This code was written by Otried Cheong (http://tclab.kaist.ac.kr/~otfried/Mule/) and I have not asked him what the copyright status of that code is. In addition, there is not nearly sufficient time for the implementation to be finished, debugged, and integrated before the initial 22 release.


Note on the implementation

I mostly followed the Carbon port in updating the Makefiles and configuration. However MAC_OSX and MAC_OS are UNdefined when compiling for NS due to these being used for Carbon-specific things. Unexec seems to work perfectly using Andrew Choi's unexmacosx.c, however I haven't been able to get dumped images to run under GNUstep.


regards,
Adrian Robert





reply via email to

[Prev in Thread] Current Thread [Next in Thread]