[Mew-dist 12043] tamago
Kazu Yamamoto ( 山本和彦 )
kazu at example.com
2000年 1月 12日 (水) 13:43:17 JST
Tamago v4 が出たので、重い腰をあげ、egg.el での local-map の使い方を今
風にしようと試みました。端的に言えば、Mew の Draft モードの Subject:
で、Tamago が使いたかったのです。しかし、ほとんど不可能だということに
気付き、ショックの色を隠しきれません。
復習:
キーマップは次の順に検索されます。
* マイナーモードのマップ (minor-mode-map-alist で利用可なエントリ)
* ローカルマップ
- overlay のプロパティの local-map
- テキストのプロパティの local-map
- バッファの local-map
(use-local-map で指定したマップ)
* グローバルマップ (global-map)
ローカルマップは、どれか 1 つ見つかると、残りのローカルマップは参照さ
れません。
Mew のヘッダでは、overlay の local-map を利用しています。
古い canna.el などは、バッファの local-map を利用していましたが、これ
をマイナーモードのマップに書き換えることで、Mew と共存できました。なぜ
なら、マイナーモードマップは必ずローカルマップよりも優先されるからです。
Tamag v4 では、おそらくマルチ入力機能(?)を実現するために、テキストの
local-map を利用しています。この機能は、マイナーモードのマップでは実現
できません。
そこで、ヘッダ部分では overlay の local-map がテキストの local-map に
勝ってしまうので、Tamago を利用できなくなります。
FEP のために、マイナーモードマップが用意されたのに、さらなる機能を求め
てテキストの local-map を使っているところが問題ですね。
今のところボンヤリとしか考えていませんが、ヘッダで使いたいコマンドは 3
つしかないので、そのコマンド自体が位置によって動作を変えるようにしよう
かと思っています。これで、overlay の local-map を利用しなくて済むよう
になるかもしれません。
逆に添付領域では、積極的にダミー local-map を設定しておき、Tamago の機
能を無効にするのもありかなと思っています。
--かず
Mew-dist メーリングリストの案内