Emacs に凝ると、半日を棒に振るの法則

古い MeadowUTF-8 が使えない)から、少しでも新しい Emacs 環境に移行しようとして、半日を棒に振りました。いや、一応解決できたら、棒に振ったとは言えないか。。。
まず最初に、EmacsNTEmacs JP にしました。ここにあります。

これで、フォントの問題(全角文字をアルファベットの倍幅にする)は解決しました。行間のスペーシングを空ける方法も分かりました。Environment の Display というところに、line-spacing というのがありました。
次は、lookup.el です。私が今まで、ずーと同じバージョンの Meadow を使っていたのは、実は lookup.el がないと仕事にならないからです。EB や eblook など、いろんなツールを再インストールする気力がなかった訳です。
今日もいきなり、正攻法で勝負を挑み、ものの見事に敗退しました。eblook を、-mno-cygwin でビルドすることができなかったのでした*1。ちなみに Cygwin ネイティブにビルドすると、表示日本語コードが変になります。原因は追いかけていません*2
結局、次のようにしました。EB は、Windows 版をここからダウンロードします。

でもって、eblook のバイナリは、ここから頂きました。(古い eblook のバイナリは、なぜか動かなくなった。なぜ?)

大変助かりました。ビルド頂いた方、ありがとうございます。ちなみに、eb.dll は、上記 EB のパッケージに含まれています。eblook.exe と同じディレクトリにでも置いておきましょう。なお、lookup と eblook のソースは、ここにあります。参考まで。

さて。eblook は Windows アプリなので、lookup-search-agents の指定はこんな感じです。(.emacs が C:\Documents and Settings 下にあるのが気に入らないが、とりあえず。)

(setq exec-path
      (append
       (list "c:/eblook/bin" exec-path)))

(setq load-path 
      (append 
       (list "c:/Documents and Settings/myname/Application Data/emacs/lisp/lookup") load-path))

(autoload 'lookup "lookup" nil t)
(autoload 'lookup-region "lookup" nil t)
(autoload 'lookup-pattern "lookup" nil t)

(define-key ctl-x-map "l" 'lookup)              ; C-x l - lookup
(define-key ctl-x-map "y" 'lookup-region)       ; C-x y - lookup-region
(define-key ctl-x-map "\C-y" 'lookup-pattern)   ; C-x C-y - lookup-pattern

(setq lookup-search-agents '(
			     (ndeb "c:/dict/kojien")
			     (ndeb "c:/dict/eiwa")
))

そうそう。lookup 1.4.1 を install.el しようとしたら、lookup-logo.xpm が無いとかいって怒られました。lisp ディレクトリにあったので、適当にコピーしました。おしまい。

あと、ispell

そうそう。ispell も必携なのでした。以下のサイトを参考にさせて頂き、Cygwin の aspell を使うようにしました。

(setq ispell-program-name "aspell")
(eval-after-load "ispell"
  '(add-to-list 'ispell-skip-region-alist '("[^\000-\377]")))

IME

IME の設定は、こちらを参考にさせて頂きました。

*1:今まで知らなかったのですが、Cygwingcc (ラッパー?)に -mno-cygwin を付けると、MinGWgcc を動かしているようです。

*2:Emacs とのやり取りの問題というより、どうやっても出力が CP932 にならない。