Wednesday, July 31, 2013

gnupack(emacs-24.x)でw3mを使う

私は Windows 上では長らく Meadow を使っていたのだが、Meadow は emacs-22系であるほか、IME回りでたまに落ちることがあったので、そろそろ乗り換えるか…ということで、最近 emacs-24系ベースの gnupack (11.00) に移行してみた。
(もちろん、Meadow の開発者の皆さまには、とても^2感謝しております!これまでどうもありがとうございました!)
移行作業自体は、ほぼ無問題だったのだが、HTMLメールのレンダリングに使っていた emacs-w3m 関連で微笑^H小な TIP があったのでメモ。

emacs-w3m の最新リリース版は 1.4.4 であり、以下からダウンロードできる。

http://emacs-w3m.namazu.org/#download

しかし、リリース版では emacs のバージョンごとに処理を分けている部分が emacs-21 系までしか対応しておらず、

http://emacs-w3m.namazu.org/ml/msg08719.html

にあるようなエラーが出てしまう。(上記は、なんと2006年の記事だ!)
そして、emacs-24 系の現行 gnupack (11.00)環境で、上記の記事で紹介されている work around で逃げようとすると、今度は emacs lisp に非互換があるらしく、やはりうまくいかないのだった。

さて、どうしようか…と調べていたところ、上記の emacs-w3m ダウンロードページに記載のある CVS リポジトリにある開発最新版では、w3m-e19.el や w3m-e20.el や w3m-e21.el といったファイルが w3m-ems.el という名前で統合されており、emacs-24 系でも問題なく使えそうなことがわかった。

そうすると、後は組み込んで使うだけなのだが、ここで問題が一点。
CVSの開発版でも、ドキュメントには emacs (gnupack) の環境定義ファイル(.emacs)
から

   (require 'w3m-load)

して使うべし…と書いてあるのだが、本記事執筆時点の CVS リポジトリからは w3m-load.el が消えてしまっている!

さて、どうするのが正しいのだろうか...と考えたのだが、この記事

http://d.hatena.ne.jp/minazoko/20110307/1299516952

を参考に、「emacs-w3m のリリース版には w3m-load.el あるから、これをコピってくればいいんじゃね?」と安易に考えてやってみたところ、何の問題もなく動いたのだった(笑)

本来はきちんと追求するべきなのだが、いろいろばたばたしている折でもあり、とりあえずここまでとした。

No comments:

Post a Comment