最近、RubyやScalaを書くことが多く、メインのエディタがすっかりEmacsに戻っています。
ただEmacsを使い始めてからIMにGoogle日本語入力を使うようになりました。
というのもATOKではEmacsでShiftキーを使用する記号が全角で入れられなかったからです。
しかし、やはりIMはATOKが使いたい。TwitterやBlogを書くとき明らかに変換ストレスがATOKの方が少ないです。 #三国志の武将の名前などGoogle日本語入力の方が楽な場合もありますけど(笑)
少し調べてみたら、有名な問題のようで http://github.com/downloads/typester/emacs/fix-shiftmodifier-with-ime.patch これを当てると解消されるということらしい。
さっそく、今最新のEmacs 23.3aをGnuのページからダウンロードしてビルドしてみると
$ curl -O http://ftp.gnu.org/pub/gnu/emacs/emacs-23.3a.tar.gz
$ curl -O https://github.com/downloads/typester/emacs/fix-shiftmodifier-with-ime.patch
$ tar zxvf emacs-23.3a.tar.gz
$ cd emacs-23.3
$ patch -p1 < ../fix-shiftmodifier-with-ime.patch
$ ./configure --with-ns --without-x
$ make bootstrap
:
0x105000000 (sz: 0x5bff/0x7f8000)
0x10067e000 (sz: 0/ 0x1000)
--- Load Commands written to Output File ---
Writing segment __PAGEZERO @ 0 ( 0/0x100000000 @ 0)
Writing segment __TEXT @ 0 (0x1db000/0x1db000 @ 0x100000000)
Writing segment __DATA @ 0x1db000 (0x368000/0x368000 @ 0x1001db000)
section __program_vars at 0x1db000 - 0x1db028 (sz: 0x28)
section __nl_symbol_ptr at 0x1db028 - 0x1db038 (sz: 0x10)
unexec: unrecognized section name in __DATA segment
make[2]: *** [bootstrap-emacs] Error 1
make[1]: *** [src] Error 2
make: *** [bootstrap] Error 2
なにやら一筋縄ではいかなそうなエラーです orz
仕方なく開発版の24を取ってきてみると、Shiftキーパッチの箇所はどうやら修正されているようで、ダメもとでビルドしてみた。
$ git clone git://git.savannah.gnu.org/emacs.git
$ cd emacs
$ ./autogen.sh
$ ./configure --with-ns --without-x
$ make bootstrap
$ make install
$ open nextstep/Emacs.app
(autogen.shするときautoconfとautomakeが古いと言われたのでそれもビルドしました)
無事成功ヽ(´ー`)ノ
予想通りATOKで全角記号もちゃんと入力できます。
あと.emacsで設定していたwindow-systemによる位置とサイズ指定が、24では少々おかしな 動きをしたので、微調整したら使えるようになりました。
そして、なんだか動作も速い気がします。しばらく使って様子を見よう。
追記
- window-systemでheightが大きすぎるとタイトルバーが表示領域よりどんどん上にずれてしまい、移動などができなくなるようです。
- partial-completion-mode がなくなっているようで、.emacsで指定されているとエラーとなります。標準で (partial-completion-mode t) が指定されているのと同じ動きをするようになったようです。