[Mew-dist 04625] Re: update for mew-summary-sort(-region)
Masahiro MURATA ( 村田全寛 )
muse at example.com
1998年 5月 11日 (月) 22:34:52 JST
>>> In [Mew-dist 04615] Re: update for mew-summary-sort(-region)
>>> Kazu Yamamoto (山本和彦) wrote:
> From: Masahiro MURATA (村田全寛) <muse at example.com>
> Subject: [Mew-dist 04516] update for mew-summary-sort(-region)
> Date: Wed, 6 May 1998 11:05:05 +0900
> > [Mew-dist 04382] のパッチが取り込まれたかどうかは分かりませんが,
> > prefix argument 付で mew-summary-sort を実行した場合(すなわち,
> > sort-region した場合)に imls が常に "all" で実行されてしまうので,それを
> > 修正するパッチです。region の場合は update ですよね。
> > 以下のパッチでは,mew-ask-range を nil にして mew-input-range を呼ぶと
> > いう姑息な方法にしてしまいました。
> > # mew-input-range の引数に completing-read しないものを追加した方がスマー
> > # トかもしれない。
> これは理解できていないのでマージしていません。
> region を sort した場合、update が正しい値なのですか? そもそも、
> region の sort がどうしてできるのか理解していません。
> update が正しい値になるのは、あるメッセージから最後のメッセージを sort
> した場合に限ると思います。最後のメッセージを含まずに、途中のメッセージ
> だけを sort すると、結局 all でキャッシュを更新する必要がありませんか?
mew-summary-sort-subr の関数を良く見ると解って頂けると思いますが,
sort-region した場合,
(let ((buffer-read-only nil))
(delete-region (or rbeg (point-min)) (point-max))) ;; for update
のように,summary バッファが region の開始ポイントから*最後のメッセージ
まで*削除された後に,mew-summary-scan-body が呼ばれるようになっています。
だから,update は正しい値になります。
--
村田 全寛 / MURATA Masahiro
Mew-dist メーリングリストの案内