[mew-dist 20725] proto
Kazu Yamamoto ( 山本和彦 )
kazu at example.com
2002年 4月 5日 (金) 13:54:43 JST
現在、
local (+inbox など)
POP ($inbox)
IMAP (%inbox など)
のどの世界に住むかを決定する概念として "proto" が導入されています。(何
の略かはよく分りません。protocol でも prototype でも好きなようにとって
下さい。)
それぞの先頭記号 (+/$/%) が、proto の具体的な値になります。
どの proto で生きていくかは、mew-proto に設定します。デフォルトは "+"
なので、何もしなければこれまで通り、local で生きていく設定になっていま
す。
たとえば、"$" を指定しておくと、起動時に "$inbox" に行きます。"%" なら
"%inbox" に行きます。"i" は "s" + update として扱われます。
たとえば、mew-proto が "%" でも、"g" で明示的に "+inbox" と指定すれば、
"+inbox" に行けます。
今の弊害としては、"i" (inc) が IMAP にとられてしまうので、inc する方法
がないことです。($inbox に行って +inbox へ refile すれば OK ですが。)
"i" も問題ですが、それ以上に "g" や "o" が問題です。たとえば、proto が
"+" なら "g" では "+" が候補とし挙って欲しいし、"%" なら "%" を表示し
て欲しいはずです。
この動作は、mew-proto-spec で定義できます。たとえば、以下のような
エントリがあります。
("+" "+" "+")
第一要素はキー、つまり現在 "+" の世界で生きているときに利用されるエン
トリだということを表しています。第二要素は "g" の候補、第三要素は "o"
の候補です。(ここに "i" の動作も加えるとよい?)
proto と case は直行した概念です。
各 case に proto を指定できます。これは、各 case でのデフォルトの
proto を指示しているに過ぎません。"g" で明示に別の世界へ行けます。
proto と case は直行しているので、たとえばある状態での inbox は、proto
と case から決めないといけません。
たとえば、mew-inbox-folder は case から local の inbox しか求められな
いので、proto は反映されません。このため、mew-proto-* という関数群があ
ります。
たとえば、mew-proto-inbox-folder は、現在のフォルダ (Summary mode) か
らproto を判断(先頭文字を切り出)し、さらに case も考慮して inbox を求
めます。
P.S.
実は proto に "-" も指定できるのだけれど、デフォルトのニュースグループっ
て何かよく分らないので、まじめに対応していません。
--かず
Mew-dist メーリングリストの案内