かなり以前から eblook/Lookup のテストのために Emacs をインストールしていましたが、どうしても馴染めないまま数年の月日が過ぎてしまいました。が、とある事情で Wanderlust を使いたくなり、少しずつ Emacs に慣れようとしている今日この頃なのです。
と書いてからさらに数年。少しは慣れたような、でもたいして進歩していないような。
仕事柄、日本語の空白が表示されないと不安になる (というか結構困る) ので、練習も兼ねて、全角空白を薄い色の '□' として表示する minor mode を書きました。ついでに改行文字も表示できるようにしました。デフォルトでは、font-lock-mode が有効になっている場合にだけ機能します。代替文字や face は変更できます。こんなに冗長なことをしなくても、実用上は background だけ設定すれば十分だったりもしますが、練習ですから。ね。
基本的に Emacs 21.x (以降) 専用です。Emacs 20.x でも一見動くように見えますが、実際にはバッファの表示が崩れるなどの不具合があり、実用的ではないので、サポートはしません。特に、20.x では改行文字を "文字列" で代替することができない (らしい) ため、改行文字の表示機能を有効にすると変なことになります。XEmacs では動作しません。
jaspace.el 1.0.0.9 以降では、CVS 版 Emacs 21.3.50.1 または 22.0.50.1 であれば、タブ文字の代替表示もできるようになっています。ただし、この機能はまだ実験段階にあり、Emacs のソースを取得した時期によっては不具合が出るかもしれません。うまく動作しない場合は諦めてください。正式公開版の Emacs 21.x でこの機能を使うと、カーソル移動がおかしくなるのでご注意ください。
Windows のエディタでよくある文字コードの表示機能を、Emacs 上で実現してみたものです。正規表現などを書くときに、手軽に日本語の文字コードを確認したくて作りました。自分くらいしか使わないだろうと思っていましたが、以前ちらりと要望を見かけたので置いておきます。GNU Emacs 20.7 と 21.3 で動作を確認しています。
カーソル位置の文字コードを echo area に表示するコマンド (what-char) と、mode line に表示する minor mode (what-char-mode) が実装されています。表示される文字コードは、バッファまたはユーザー指定の coding-system でエンコードされた値になります。
minor mode として使用するには、あらかじめ mode-line-format を適切に設定しておく必要があります。一応、この設定を行ういい加減なコマンド (what-char-add-to-mode-line) を用意してありますが、mode-line-format の形式は複雑なため、常に望ましい結果になるとは限りません。できれば、what-char-mode が non-nil なら好みの位置に what-char-mode-line-format を表示するように、手動でカスタマイズすることをお勧めします。
Lookup 1.3 で ndeb エージェントを使う場合に、eblook 1.5 以降の画像タグをリンクに変換する追加ライブラリです。リンクを実行すると、画像を一時ファイルに保存して外部プロセスで開きます。NTEmacs 20.7/21.2 と Meadow-1.14 で動作を確認しました。
.lookup などから読み込んで、ndeb-graphic-programs に外部プロセスのコマンド名とオプションを設定してください。外部プロセスが設定されていない画像のタグは、リンクではなく固定文字列に変換されます。
(require 'ndeb-graphic)
(setq ndeb-graphic-programs
'(("mono" "fiber" "-s")
("bmp" "fiber" "-s")
("jpeg" "fiber" "-s")))
bitmap-mule を利用できる場合は、モノクロ画像をインラインで表示します。表示が遅いなどの理由でこの機能を無効にしたい場合は、ndeb-graphic-arrange-functions を nil にしてください。bitmap-mule ではなく、Emacs 21 の機能を使って画像を表示するには、インライン表示する関数を独自に定義して、ndeb-graphic-arrange-functions に設定すれば何とかなると思います (^^;;
その他、M-x customize-group [RET] ndeb-graphic [RET] で設定をカスタマイズできます。
なお、Lookup 1.4 では、ほぼ同等の機能を ndeb-binary-branch に組み込んでいます (→ その後、幹にも取り込まれました)。ndeb-graphic.el は Lookup 1.4 への実装前に実験的に書いたもので、今後の拡張や修正は Lookup 1.4 が対象となります。