Muranaga's View

読書、美術鑑賞、ときにビジネスの日々

ソフトウェア版日曜大工としての Emacs カスタマイズ

Do It Yourself (DIY) ということばがある。日曜大工ということだが、そのソフトウェア版とでもいうべきものが僕にはある。EmacsWindows 版は Meadow)の使用環境をカスタマイズするために、Emacs Lisp と戯れることである。

もう長らくそういう作業はしないで、古い Emacs とその上で動くメールソフト Mew を使っていたのだが、最近、いろいろ不便なことが生じてきた。たとえば Office 2007 以降のファイル形式の添付ファイルが正常に開けない上に(解決策)、メールに添付しようとするとおかしなエンコーディングをされてしまう。

この形式のファイルがかなり頻繁に僕の周囲を飛び交うようになっており、今回、思い切って EmacsMeadow 2.10(Emacs 21.4 ベース)に、Mew を 6.3 にバージョンアップすることにした。今まで使ってきたのが Meadow 1.15(Emacs 20 ベース)で、Mew も 3.3 であるから、一気に数年分のバージョンアップをすることになる。さすがにこれだけバージョンが違うと、Emacs Lisp のコードをスクラッチから自分で調べて書くのはむずかしく、このバージョンで動かしている知人のコードをもとに、初期ファイル(.emacs や .mew.el)を書き換えていくことにした。

新しい Emacs / Meadowネット経由で簡単にインストールできる。フォントの扱いがだいぶ変わっているので、そこが主な日曜大工仕事になる。同じ初期ファイルが、新旧どちらの Emacs でも動くように、互換性を考慮し、適宜動作確認をしながら書き換えていく。コードの順番に依存性があるらしく、綺麗に整理して書き換えたつもりが、動作しなくなったりする。マニュアルを参照し、時には本体の Emacs Lisp ソースコードを確認し、ごそごそやること数時間。ちゃんとエラーなく Emacs が立ち上がり、メールが正常に読み書きできるようになった時の感激はひとしおである。

晴れた土曜日の貴重な朝と深夜の時間、実質半日くらいを、この DIY に費やしてしまった。Twitter を見ていると、早朝から富士山に登るなど、休日を有効に活用している友人がたくさんいる。うーん…。

思い切ってメールソフトを Outlook ExpressThunderbird などに乗り換えてしまえば、ほんの10数分で済む話なのに、Emacs + Mew という組み合わせにこだわるあまり、これだけの時間がかかってしまった。プログラミングから卒業してしまい、実は、このブログの原稿をはじめとするプレーンなテキストの文書作成と、メールの読み書きにしか、Emacs は使っていない。今や EvernoteGmail など、クラウド上でメールを読み書きし、文書を作成するのが当たり前になった時代に、僕は何というアナクロなことをやっているのだろう。

ソフトウェア技術者であった僕にとって、一時期、Emacs は自分の生活環境そのものであった。Emacs の中で、プログラムを書き、コンパイルし、デバッグしていた。そして Emacs の中で文書を作成し、メールの読み書きをしていた。当時は計算機に対するすべての行為のインタフェースを Emacs が担っていたと言っても過言ではない。Emacs というソフトウェアそのものが持つ設計思想の美しさ、実装の素晴らしさと相俟って、Emacs 中毒になってしまったのだ。そして Emacs のキー操作に自分の手が適応し過ぎてしまい、他の文書作成ソフトへスイッチできなくなってしまった。

そして Mew。Ver.1 の頃から、もうかれこれ15年は愛用しているオープンソースのメールソフトである。初期の頃には、僕の書いた拡張用の Emacs Lisp のコードを本体に反映してもらうなど、愛着が深い。僕にとって、EmacsMew は格別な思い入れのあるソフトウェアなのである。

貴重な休日の半日を費やして、EmacsMewバージョンアップを行い、カスタマイズが終了した。週明け、自宅で動作確認した設定ファイルをオフィスに持って行き、こちらはものの1時間でバージョンアップ完了、である。こういう DIY を時折繰り返しつつ、EmacsMew とのお付き合いは今後も末永く続いていくのだろう。