I've applied Andrew Choi's patches and now I have two XEmacsen (21.5.18) running on my iBook, the "original" X version and a Carbon version.

They seem to perform roughly the same, with the X version using a little bit less of memory. I personally prefer the tool-bar icons of the X version and for some reason the Carbon version starts with a dark background by default.

So far I couldn't find a place where the Carbon XEmacs would integrate better with native Mac stuff than the X version: copy-paste works the same in both, drag-n-drop (which I don't need) doesn't work in either, the Fonts menu under Options is empty in both. Of course I can have Carbon XEmacs in my dock more easily.

Running Gnus I notice the first real differences, buttonizing of URLs or attachment placeholders doesn't seem to work in Carbon XEmacs, which is rather annoying.

And then I tried to write some code and compile it. Soon I get reminded of my ~/.Xmodmap or better why I have one. I still haven't found a way to disable dead-keys for Cocoa or Carbon apps - having to press space after C-x ` is annoying. Carbon XEmacs doesn't seem to recognize my German keyboard layout, which makes things worse.

For now I'm going to stick with the X version of XEmacs.

path: /en/Mac/XEmacs | #

Whenever I need a backtick or a tilde on my iBook, I have to press space after that to get the character I really want. I've been using X11 with a no-deadkeys keymaps for many years now and have never had any problems inserting the characters I needed manually as I rarely want to type é or similar characters at all.

By now I've created my own keymap file that I use via ~/.Xmodmap so at least for X applications I've solved the issue. Given that XEmacs's next-error function is bound to C-x ` this is a major improvement.

If you know how to disable deadkeys on a German keyboard for "normal" applications as well, please drop me a note.

path: /en/Mac | #

As Fink would install an XEmacs version from the beta branch, using the latest beta release seemed like a good start (21.5.15). "./configure --with-mule" told me that I didn't have libpng and that it was highly recommended to install it.

libpng 1.2.5 worked more or less out-of-the-box, I only had to add a -dynamiclib option to LDFLAGS in makefile.macosx. I also had to manually create a symlink from libpng. to libpng.dylib to make -lpng work

OK, rerun configure for XEmacs and it finds the new library. Run make and wait 25 minutes. temacs has been compiled and links successfully, the emacs lisp files get compiled just fine, xemacs gets dumped and recompiles the lisp files, everything looks good until "ellcc" fails to create eldap.ell because of a bunch of undefined symbols.

After a lot of playing around I found that changing ELLCC_DLL_LDFLAGS from "-shared" (which isn't supported on MacOS X anyway) to "-flat_namespace -undefined suppress" in lib-src/ellcc.h created a working xemacs (at least at first glance). Unfortunately I haven't found any way to tell configure to create it, but there is an environment variable ELLDLLFLAGS that is supposed to override the setting.

So what I do now is

> ./configure --with-mule
> export ELLDLLFLAGS="-flat_namespace -undefined suppress"
> make
and it seems to work. The fonts are the ugliest things I've ever used, but that can be solved later.

path: /en/Mac/XEmacs | #

Bootstrapping Fink went smoothly, but took more than four hours on my 600 MHz G3 iBook that was busy rsyncing some stuff into my home dir.

That machine is too slow to compile everything myself, so I want to rely on binary packages. I guess I should have read this post before starting dselect. After fiddling with the package list locations I got dselect into a strange state where it insisted on uninstalling system-x11, claimed darwin was not installed and a whole bunch of other strange errors.

So time for Plan B. Uninstall Fink and wait for a 10.3 binary release for not so critical stuff (SDL, dia, various things I rarely use), install the most important software manually. The single most important piece of software to me is XEmacs, so I tried to compile it myself - and it fails in the linking stage because of undefined symbols.

The same happens for ifile that I use as a Bayesian Spam Filter. The "./configure; make" sequence worked fine on Jaguar so I guess it must be a gcc 3 thing that can be sorted out by using the correct linker arguments. I wish this page wasn't empty right now.

On the success side, the binary nethack distribution from nethack.org worked like a charm and as Terminal.app now seems to be usable with xterm-color terminal settings, colors have come back to the game for me (it's better to know the color of those "D"s when you meet them). It even accepted my old save file.

path: /en/Mac | #

While I'm writing this, my iBook right next to me is running through the Panther installation.

I've decided to do a clean install followed by a clean Fink install to get rid of some cruft that has piled up over the past months. I may even try to compile XEmacs myself instead of using Fink as the Fink version has become outdated quite a bit.

Hmm, I wonder why 160 MB of "Asian fonts" get selected by default while the 5 MB "fonts for other languages" are not.

It's nice to see that you can elect to not install Internet Explorer at all.

path: /en/Mac | #