インラインパッチ
が新しくなっていたので、cocoa emacs を再インストールした。
インストール
インストールは、
MacEmacs JP Project
サイトにある、
「IMEパッチ適用 Emacs 23.1.92 では...」
の所に書いてあるコマンドを、そのまま実行するだけで完了。.emacs.el も、
今までと同じ内容
で問題なく動作した。
使ってみて
漢字変換中に C-i や C-o を使った時のカーソル変化が、
前のバージョンよりもわかりやすくなり、日本語の入力がとても使いやすくなった。
ただ、do-applescript がおかしな動作をする。
僕の環境が悪いのかもしれないが、
(do-applescript "display dialog \"Hello\"")
を実行すると、何故かemacsが、
Fatal error (10) Emacs[3125:10b] *** CFMessagePort: bootstrap_register(): failed 1100 (0x44c) 'Permission denied', port = 0x3803, name = 'org.gnu.Emacs.ServiceProvider' Abort trapというエラーメッセージを吐いて、落ちてしまうのだ。
この現象が起きるのは、default-input-method が MacOSX
の場合に限るようなので、とりあえずの回避策として、
do-applescriptを、以下の用に再定義してみた。
(when (string-match "23\\.1\\.92" emacs-version) (defun do-applescript (script) (let ((default-input-method "japanese")) (ns-do-applescript script))))
ns-do-applescriptが動く時だけ、
input-method を japanese に変更しただけだが、
これでなんとか動くようになる。
もともと、do-applescript は、 ns-do-applescript
のエイリアスなので、再定義しても大丈夫だろう。