[Mew-dist 04718] history management

OKUNISHI Fujikazu fuji0924 at example.com
1998年 5月 14日 (木) 19:16:16 JST


水戸さんが以前流された mew-summary-search-parent() を現在のβでもまた
使いたくなって、暫く前からあれこれいじってみたのですが、僕の perl への
理解ではどうもうまくいかないので、考えたことだけ書きます。

現在では elisp 的に refile, rmm するので、当然ながら msgdb との整合性
は取れません。しかも、"x" する時点のはマークを収集するだけで中身は見て
ません。よって、Message-Id: を知りません。ヘッダを scan するのは imget
(imls) する時にしているのに、refile 時にバッファに読み込んで msg-id を
探すのは無駄です。

そこで、こういう話が出たような気もするのですが、imget, imls で scan す
る時に --with-msgid のようなオプションを付けて呼び出し、vscan のように
\r で区切ってサマリ一覧に出す(フレームを横に拡大しない限り見えない)
というのはいかがでしょうか?

で、impath --path で

> +    print "MsgDBFile=" . msgdbfile() . "\n";

しておき、mew-path-alist に

> + ("MsgDBFile" . mew-msgdb-file)

を追加して、mew-msgdb-file が non-nil の時に refile, rmm の際に imhist
を呼び出して history_rename(), history_link() します(これをするには 
imhist の改造が必要です。で、できれば angle-bracket を除去して渡すよう
にすると shell の違いによる quote 問題を回避できます)。

search-parent する場合は、既に scan された結果を舐めるだけでいいので、
imhist や imcat [MsgID] する必要はなくなります。あ、でも同一フォルダに
ある場合のみに限られてしまいますね(^_^; うーむ。
問題があるとすると、scan all しないと無意味なことです(^_^;;
virtual mode でもやる必要があるかどうか、ちょっとわかりません。

;; imls をいじってみたら常に on になってしまい、諦めました(^_^; それと 
;; Emacs20 や XEmacs ならば dl で msgdb を直接 elisp から操作できるか
;; も知れないですね。

ご意見、ならびにパッチをお待ち申しております(^_^;;

--ふ



Mew-dist メーリングリストの案内