[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 メーリングリストの案内