[mew-dist 18852] Re: sort

Hideyuki SHIRAI ( 白井秀行 ) shirai at example.com
2001年 9月 11日 (火) 15:03:03 JST


From: Kazu Yamamoto (山本和彦) <kazu at example.com> さん曰く
Subject: [mew-dist 18849] Re: sort
Message-ID: <20010911.145139.26238326.kazu at example.com>
Date: Tue, 11 Sep 2001 14:51:39 +0900 (JST)

kazu> From: Hideyuki SHIRAI (白井秀行) <shirai at example.com>
kazu> Subject: [mew-dist 18847] Re: sort
kazu> 
kazu> > ぼくも木下さんの意見に賛成です。(バッファ全体でも point-min がよ
kazu> > いです)
kazu> > また、Pack 時はもといた場所にとどまる方がよいと思います。
kazu> 
kazu> うーん。僕は point-max がいいです。やっぱりカスタマイズですか。デフォ
kazu> ルトはどっちがいいかなぁ。

前言撤回 ^^;;;

(C-u ではない) Sort は、もとの message にいる方が良いです。けど、
どの番号に移ったか考えるのは大変でしょうから、text-property は保
存されることを悪用してみました。

# こいつの条件にハズレたら、point-min でも -max でもどっちでも良
# いです。

kazu> > の対策をしてみました。ちなみに以下の実験をして、速度の低下が無い
kazu> > ことを確かめています。
kazu> 
kazu> パッと眺めたところ、sort and/or pack が 2 つ同時に動くと破綻すると思い
kazu> ます。あと、mark 使うのも嫌な気がします。少し考えてみますね。

どうやって、sort, pack が二つ同時に動くの?
mark はおっしゃるとおりです。

-- 
白井秀行 (mailto:shirai at example.com)

--- mew-sort.el.orig	Tue Sep 11 13:46:49 2001
+++ mew-sort.el	Tue Sep 11 15:00:40 2001
@@ -183,7 +183,12 @@
 	 ;;
 	 (if arg
 	     (message "Sorting %s: %s..." folder range)
-	   (message "Sorting %s..." folder))
+	   (message "Sorting %s..." folder)
+	   (save-excursion
+	     (mew-elet
+	      (put-text-property (progn (beginning-of-line) (point))
+				 (progn (forward-char) (point))
+				 'mew-sort-original t))))
 	 (setq mew-summary-buffer-process t)
 	 ;;
 	 (save-excursion
@@ -265,7 +270,16 @@
 	       (setq i (1+ i)))))
 	 ;;
 	 (unless mew-sort-debug
-	   (goto-char (point-min)))
+	   (if (setq pos (next-single-property-change
+			  (point-min) 'mew-sort-original))
+	       (mew-elet
+		(goto-char pos)
+		(beginning-of-line)
+		(remove-text-properties (point)
+					(progn (forward-char) (point))
+					'(mew-sort-original nil))
+		(beginning-of-line))
+	     (goto-char (point-min))))
 	 (widen)
 	 (cond
 	  (mew-sort-debug



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