Mac OS X で Emacs 23.1 で inline かな漢字変換

健全な文化生活には、シトロエンと Emacs が欠かせないと思っております。

CocoaEmacs - MacEmacs に書いてあるとおり、先日でた Emacs 23.1 は、Mac OS X でビルドした場合、Carbon じゃなくて Cocoa ベースになっている。
ただ、このままビルドすると、かな漢字変換は Emacs ツルシで付いてくるquail ベースのものしか使えない。
僕はかな漢変換というか IM はツルシのものを素直に使う派で、Wnn4 jserver + EGG なり, 漢字Talk 2.0, sj3, MSIME, ことえり,みな不満なく使ってきたのだが、さすがに quail は勘弁だ。

と思ったら、
ニュース: inline patch for Emacs23 (2009/6/17)リリース - - MacEmacs JP - SourceForge.JP
ということで、当ててみたら素直に当たりました。基本的にはそんだけの話。

./configure --with-ns --without-xでビルドすると、 make install すると nextstep/Emacs.app の中に make installしていくのが面白い。
(ご存知のとおり、Mac OS X というか NeXTStep の「ほげ.app」って、ファイルシステム的にはただのディレクトリ/フォルダであって、「最終リンク? いいじゃんそんなのしなくたって」というのが当時非常に目から鱗だった)

MacBook (2.2GHz Core 2 Duo, 4GB) では2分でビルド完了する。すごいな。
R4000 200MHz の sgi Indigo2 で mule 1.0 が 6 分でビルドできて、俺は地上最強に速い男だとおもった16年まえが懐かしい。
(当時一緒に mule 追っかけしてた、当時リンクス, 現ジブリの片塰監督、お元気ですか?)

おお、(set-input-method "MacOSX")できるぞ!

日本語入れられる! と思ったとたん、まず打つ日本語がいつも脊髄反射で「うんこ」とかなのが、あさって42になるいい大人とは思えない。

かれこれ20年近く使ってる ~/.emacs は、emacs 23 依存部分を追い出すと、こんな:

;;; http://d.hatena.ne.jp/kazu-yamamoto/20090122/1232589385

(if (= emacs-major-version 23)

(progn

(set-input-method "MacOSX")

(setq ns-command-modifier (quote meta))

(setq ns-alternate-modifier (quote super))

(setq my-font "-*-*-medium-r-normal--14-*-*-*-*-*-fontset-hiramaru")

(setq fixed-width-use-QuickDraw-for-ascii t)

(setq mac-allow-anti-aliasing t)

(set-default-font my-font)

(add-to-list 'default-frame-alist `(font . ,my-font))

(set-fontset-font

(frame-parameter nil 'font)

'japanese-jisx0208

'("Hiragino Maru Gothic Pro" . "iso10646-1"))

(setq face-font-rescale-alist

'(("^-apple-hiragino.*" . 1.2)

(".*osaka-bold.*" . 1.2)

(".*osaka-medium.*" . 1.2)

(".*courier-bold-.*-mac-roman" . 1.0)

(".*monaco cy-bold-.*-mac-cyrillic" . 0.9)

(".*monaco-bold-.*-mac-roman" . 0.9)

("-cdac$" . 1.3)))))

ただ、emacs 23 で良くなったのはおもに X がらみであって、OS X で使ってるぶんには特に emacs 23 の恩恵というものはなく、むしろ Currently, the Nextstep port is not as stable as the other existingports; we hope to improve it in future releases.って感じなのだが、まあ細かいことはいいじゃないですか。