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