Aquamacs Emacs 23 To Do List This is an incomplete list of things that need to be done to port Aquamacs to Cocoa and Emacs 23. If you'd like to tackle one of the problems (please do!), send me an e-mail stating what you'd like to work on, and a date not more than two weeks from the current date when you'll submit the first patch. Most problems here require less than an hour of your time if you know a little Objective C/Cocoa and some Emacs Lisp, and if you're familiar with the format of patches (so you can read the old ones). The Emacs 22 patches are found in CVS (aquamacs/patches). The Emacs 23 are also in CVS (aquamacs/patches.23). - david.reitter@gmail.com Priorities: 1- will not run without 2- won't release without this 3- probably won't release without it 4-6: Carbon Aquamacs has it, so it should be ported 7-10: nice to have === TO DO - Redisplay performance is much worse than in Carbon, e.g. in nsterm.m. It appears to be correlated with whether tabs are enabled and with objc-mode (vs. fundamental mode). Tabs should be cached. Priority: 1 - live resizing/frame redrawing: this looks uber-ugly. Maybe disable live-resizing. [reported] Recently, things have improved somewhat, but it is unclear why. [Appears fixed.] - build system (preferably better integrated with the Emacs one) - revise aquamacs-tool-bar and (!!) aquamasc-autoface.el: possibly do not use face-spec-set. use face-set-attribute instead, because it seems to not prevent further customization through the user. - Options/Appearance (autofaces): use NS color panel Priority: 3 ==> Nathaniel - Preferences panel: design a Cocoa/NS preferences panel and move the Options menu there. Difficulty: Requires Interface Builder and Cocoa/ObjC know-how and is a sizeable chunk of work, but not very difficult. The code is already there (NS Prefs panel, as removed from GNU Emacs 23 on 3/14, and the .nib). Some code will need to be written to port the Lisp-level menu over. "Language" can go into the Edit menu. "Customize Aquamacs" should go directly into the Aquamacs application menu (maybe a bit tricky to do). Priority: 7 ==> Nathaniel - Fullscreen mode (ObjC code) This requires writing some Objective C code in nsterm.m (and friends), porting the functionality of mac-fullscreen.patch This is not hard to do if you've seen such code before. (Candidate for Emacs 23 CVS) DR: I have written some code for this in Cocoa, but it doesn't work too well at this point. Priority: 3 ==> David - mac-functions we can probably get rid of show/hide menu bar (see: fullscreen), but port mac-process-activate Priority: 7 - DND the cocoa port provides the ns-drag-file event: (define-key global-map [ns-drag-file] 'ns-insert-file) right now, the convenient latex DND functions (for images dragged from finder) will not work, and tabbar support will have to be established. priority: 2 ==> Sidney - cocoaspell, flyspell-aspell fails I suggest to rework this now to use the OS X spell-checker. This is a bit of work, but it is relatively easy to do. DR: I volunteer to provide Lisp bindings for the relevant functions. The rest of the job is just a matter of integrating it with ispell. priority: 2 ==> Nathaniel macfns-dialog-menu: this needs to be replaced with a patch to x-popup-dialog in order to provide a cancel button there. everything else should be in place. easy to do. priority: 2 ==> Sidney Redisplay performance - cache (tab) ==> Nathaniel - performance issues (upstream report) ==> David a fix has been committed; further slowness remains Option-click on window close button -> does not ask for permission to kill buffers, but kills them COMPLETED / NOT NEEDED display-buffer-reuse: the "select" functionality is always used now in Emacs 23, so we won't patch this further. faces-speedup: not needed any more, on by default org-gnu-Aquamacs: no need puresize: maybe not needed fringe: not needed, patches it to 23 anyway save-place: not needed, has been done in 23 intel: probably not needed DONE header-line DONE about-aquamacs DONE pop-to-buffer probably not needed - ptb is implemented in Lisp now, and it DTRT - DR DONE calm-startup DONE menu-bar-visible-frame DONE python-mode DONE pretty-modeline DONE ns_emulate_three_button_mouse DONE availabe-screen DONE toolbar [pending fix in GNU Emacs - reported] DONE face-remapping