やさしいEmacs Lisp講座

世界崩壊の呪文はC-u 64 M-x hanoi
やさしいEmacs‐Lisp講座
著:広瀬雄二 画:chika カットシステム*1

何故か5年に1回ぐらい、Emacs用の何とかモードを作ってくれ、という依頼がやってくるんですが、その時に『Emacs Lispリファレンスマニュアル』(B. Lewis, D. LaLiberte, R. Stallman and the GNU Manual Group) *2と一緒に読み返すのがこの本。
これまでの人生の半分以上をEmacsと付き合ってきた私は、はてなダイアリーに投稿する日記の草稿もEmacsで書いているぐらいなんですが、kill-all-local-variablesやmake-buffer-localの微妙な変数の扱いとか、set-process-filterで生じるスレッド的な振舞いとか、infoで検索しながら本で見直して、昔の記憶を呼び覚まさないと駄目。不器用なんです。
関数型言語ということで最近ちょっと流行っているらしいScheme/Gaucheに比べると、変数の束縛がイけてない、と言われがちなEmacs Lispですが、バッファの属性や各種フラグを一時的に変更したいときに代入じゃなくてletで囲むだけで良い、というのは超便利。死ぬまでEmacsと付き合うつもりなので、set!よりsetqと叩く機会の方が多くなりそう。
前々回はフィルタ関数、前回はテキスト属性、今回はフォントロックと、5年おきの作業で知識が増えていくのが、意外に楽しいEmacs Lispプログラミング。次の5年後は、仕事にかこつけて、アスペクト指向っぽいdefadviceあたりを使ってみようかな。

><