Shammer's Philosophy

My private adversaria

Mac OS Lion へ Emacs 24.3 をインストール

24.1を使っていたが、Terminal上で使用した際に

OpenStep is not in use or not initialized

というメッセージが出ることに気付いた。ファンクションキーのキーバインドがこのエラーでまともに動作しなかった。原因について調べていたが、24.0.50でこのエラーが出る不具合があるとわかった。

 bug#6940: 24.0.50; Entire buffer blinking when selecting text

該当しているかはわからないが、アップグレードすることに。とりあえず、portを使ってみたら24.3がインストールされた。24.2が最新と思っていたが・・・

ところが、24.3にした後でまた別の問題が。原因はよくわからないが、

Invalid face: modeling

なるメッセージが・・・今度はなんだと思ったら、これはEmacsの内部実装の変化が原因のようで、SKKがその影響を受けていたことが判明。

 face名 modelineが削除されたことによるエラーとworkaround

SKKも最新にするか、ということで確認したところ、14.4でなく15.1というのがあったのでそれをインストール。一連の手順をまとめると以下のような感じ。

  1. sudo port install emacs
  2. curl -O http://openlab.ring.gr.jp/skk/maintrunk/ddskk-15.1.tar.gz
  3. tar xvfz ddskk-15.1.tar.gz
  4. cd ddskk-15.1
  5. SKK-CFGの「Apple Mac OS X における self-contained な Carbon/Cocoa Emacs の設定例」を編集
  6. make what-where
  7. sudo make install

これまではSKK.emacs.d/lisp/skk 以下のものを使うようにしていたが、これを機にそれをやめることに・・・.emacs.d/init.elのSKKの定義は以下のようになった。

(require 'skk-autoloads)
(setq default-input-method "japanese-skk")
(setq skk-henkan-strict-okuri-precedence t)
(setq skk-check-okurigana-on-touroku t)
(setq skk-auto-insert-param t)                                  
(setq skk-egg-like-newline t)                       
(setq skk-show-annotation t)
(setq skk-large-jisyo "~/.emacs.d/share/skk/SKK-JISYO.L")
(setq skk-tut-file    "~/.emacs.d/share/skk/SKK.tut")
(setq skk-user-directory "~/.emacs.d/share/skk")
(setq skk-preload t)
(setq skk-previous-candidate-keys (list "x"))

今までお世話になった以下の行を削除した。

(add-to-list 'load-path (expand-file-name "~/.emacs.d/lisp/skk"))

だが・・・まだ問題が。どうやら、24.3では

  • ns-get-pasteboard
  • ns-set-pasteboard

あたりの動作が変わっているようだ。この辺も調べて修正しないといけない関数がある。それについてはまた後日調べることにしよう。