Hatena::Grouprekken

murawaki の雑記

2009-09-02

Installing Emacs 23.1 on Windows Vista

2012年12月29日追記: 最近は gnupack という便利なパッケージを提供してくれている人がいる。ここの emacs のバイナリを取ってくればコンパイルしなくても動く。とりあえず使いたければこちらがおすすめ。

Windows Vista のマシンに Emacs 23.1 を入れた。それほどすんなりいかなかったのでメモ。

動機。もうすぐ Windows 7 が出ようかというこの時期に Vista のマシンを手に入れてしまった。Windows 上の Emacs としては、これまで Meadow を使ってきた。Mule for Windows から始まって、Meadow 2、Meadow 3 と。Meadow は素晴らしい。よく使うモジュールが、ちゃんと設定された状態でパッケージ化されている。しかし最近活動が低調。そこで本家を試してみることにした。

GNU のサイトに Windows 版の binary がある。これを取ってきて解凍すればとりあえず動く。しかし IME の使い勝手が悪い。幸い NTEmacs JP の人が IME の patch を作ってくれている。そこで Cygwin 上でソースから自分で build する。

build の手続きは、基本的には NTEmacs 23.1.1のコンパイルに従う。しかし、以下の点でこの手順通りにはいかない。2009/10/28 追記: 元サイトの方が手順を更新してくださっていますので、以下の情報は無効です。

  • nkf をまだインストールしていない。改行文字の変更にしか使わないので dos2unix と unix2dos で代用。
  • configure.bat 時に gcc が認識されない。「内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチファイルとして認識されません。」などと言われる。DOS 的には gcc.exe.lnk が symbolic link と認識されない。configure.bat を書き換えるか、gcc.exe を実体の gcc-3.exe で上書きする。
  • configure.bat 時に libXpm がないといわれる。config.log を見たら simx.h がないと言われる。同じ問題は以前からあったらしい。ひとまず適当に simx.h を取ってくる。
  • make 3.81 では駄目で、make 3.80 を使わないといけないというが、Cygwin のパッケージには make 3.80 は入っていない。Mozilla のサイトに従って、別の場所から落としてくる。

runemacs.exe を実行すると起動する。今度は日本語入力が on-the-spot でできる。

目に見える一番の変化はフォントまわりか。試しに

(set-default-font "メイリオ")

とするとフォントメイリオになった。全然 Emacs っぽくない。しかし、等幅フォントじゃないとコードを書くときに気持ち悪いかもしれない。

もうひとつの問題は、メイリオが簡体字などをサポートしていないこと。等幅で Unicode を広く収録していてきれいなフォントを探さないと。MS Office 付属の Arial Unicode MS は収録文字数が多いけどきれいじゃない。

多言語表示。HELLO はそれなりに表示される。あいかわらずアラビア文字は無茶苦茶だけど。

2009/10/28 追記: 同じ様にして別のマシン (Windows XP) でコンパイルを試みたところ問題が発生した。make bootstrap の途中、info-look.el を byte-compile する段階で止まってしまう。検索して見付けたサイトによると、Cygwin の /usr/X11R6/bin/libXpm.dll を load しにいって制御が戻らなくなるらしい。PATH をいじって /usr/X11R6/bin を外すと先に進むようになった。

2010/01/23 追記: Windows 7 + cygwin 1.7.1 でも特に問題なく build に成功。しかしよく落ちる。buffer の使い方が安全じゃないらしい。