2010-10-02

Cocoa Emacs で ispell が動かない

Cocoa Emacs (23.2 を自前でビルドしたもの) でスペルチェッカ (ispell) を使おうとすると、「ispell がない」と文句を言われる。ググって、これについての情報を見つけた。

この記事によると、Carbon Emacs (22.*) には ispell の代替となる GNU Aspell (のビルトイン版) がふくまれていたが、23.* にはない、と。つまり、23.* では Aspell を別途インストールする必要がある。

↑で対処法として挙げられているのは以下の 3 つ。

  1. Carbon Emacs からコピーしてくる。
  2. MacPorts で Aspell をインストールする。
  3. cocoAspell を利用する。

3. の cocoAspell は Aspell に Mac OS X 向けの拡張を加えたバイナリパッケージらしい。↑の記事の著者もこれを使っているとのこと。

どの方法を採用するか? 1. はいかにもアドホックでやりたくない(白状すると、調べる前はこれで済ませようか、と考えていた)。2. と 3. は好みの問題だな。MacPorts (とソースからビルド & インストール)が好きなら 2. で、「MacPorts って何?」っていうなら 3. で。お手軽なのは 3. だろう。

わたしは MacPorts 好きなので、2. を採用した。

MacPorts で Aspell をインストール

インストールするのは Aspell 本体 (aspell) と英語用の辞書 (aspell-dict-en) の 2 つ。以下が実行結果だ。

[imac] mnbi% sudo port install aspell
--->  Computing dependencies for aspell
--->  Dependencies to be installed: texinfo lzmautils
[...snip...]
--->  Fetching aspell
--->  Attempting to fetch aspell-0.60.6.tar.gz \
      from ftp://ftp.jp.FreeBSD.org/pub/FreeBSD/ports/distfiles/
--->  Verifying checksum(s) for aspell
--->  Extracting aspell
--->  Applying patches to aspell
--->  Configuring aspell
--->  Building aspell
--->  Staging aspell into destroot
--->  Installing aspell @0.60.6_3+nonls
--->  Activating aspell @0.60.6_3+nonls

You must install (at least) one of the language dictionaries after 
installing this port in order for it to work.

--->  Cleaning aspell
[imac] mnbi% hash -r
[imac] mnbi% which aspell
/opt/local/bin/aspell
[imac] mnbi% sudo port install aspell-dict-en
--->  Computing dependencies for aspell-dict-en
--->  Fetching aspell-dict-en
--->  Attempting to fetch aspell6-en-6.0-0.tar.bz2 \
      from ftp://ftp.dti.ad.jp/pub/GNU/aspell/dict/en
--->  Verifying checksum(s) for aspell-dict-en
--->  Extracting aspell-dict-en
--->  Configuring aspell-dict-en
--->  Building aspell-dict-en
--->  Staging aspell-dict-en into destroot
--->  Installing aspell-dict-en @6.0_0
--->  Activating aspell-dict-en @6.0_0
--->  Cleaning aspell-dict-en

Cocoa Emacs で Aspell を使う

上述の記事にあるように、ispell-program-name/opt/local/bin/aspell をセットすれば良い。Emacs から M-x customize-option を実行しても良いし、初期化ファイル(~/.emacs.d/init.el) に以下を追加しても良い。

(Emacs 初期化ファイルより)
 1: (setq ispell-program-name "/opt/local/bin/aspell")

関連リンク

関連記事

0 件のコメント:

コメントを投稿