[mew-dist 28031] Re: Selection と Thread

SAITO Takuya tabmore at example.com
2007年 12月 29日 (土) 14:46:20 JST


斉藤と申します。

mew-summary-form-listを使って SummaryモードとVirtualモードのsummary formを変えると、
"k/" して "tt" したときにスレッドのインデントが入る位置がずれてしまいます。

mew-get-summary-form()の呼ばれ方を見てみると、

mew-local-retrieve():
  (mew-get-summary-form (mew-summary-folder-name 'ext))

mew-summary-thread-region():
  (mew-get-summary-form (or (mew-summary-physical-folder)
                            (mew-summary-folder-name))
                        'column)

となっていて、mew-local-retrieve()ではVirtualモードのフォルダ名、
mew-summary-thread-region()ではphysical folderのフォルダ名に対する
summary formを使っています。

あと、contrib/mew-fancy-summary.elでも
mew-fancy-summary-thread-enable():
  (mew-get-summary-form (substring (mew-summary-folder-name 'ext) 1))

となっていますので、SelectionからThreadを作ることに対応していません。

どう揃えるべきなのか分かりませんが、mew-local-retrieve()に揃えた場合の
パッチを添付します。

-- 
斉藤 卓弥 <tabmore at example.com>



From: Kazu Yamamoto (山本和彦) <kazu at example.com>
Subject: [mew-dist 27994] Selection と Thread
Date: Tue, 18 Dec 2007 18:18:52 +0900 (JST)

> 山本です。
> 
> 簡単な説明:
> 	- "k/" して "tt" ができるようになった
> 	- "V" して "tt" ができるようになった
> 
> 長い説明:
> 
> Virtual モードで、Thread でない状態は、今まで名前がありませんでしたが、
> Selection と名付けました。
> 
> すなわち、Virtual モードは、Selection か Thread になります。
> 
> Selection は、Summary から必要なメッセージを抜き出した状態です。
> "/", "k/", "V", "m/" で作成します。
> 
> Thread は、Summary または Selection を基に対話関係を表示した状態です。
> "tt", "t/" で作ります。
> 
> それぞれのコマンド対し、状態遷移図を書き、その8割方を実装しました。使え
> るレベルにはあると思います。(残りの2割は、また明日。)
> 
> --かず
> 
> 分らないと思うけど、こんな感じ。
> 
> 	Done	Done	Done	Done					Done
> 	?	/	k?	k/ V	m/	mt	tt	*	ZZ
> S	*	V1	*	V2	V1	T1	T1	*	OK
> V1	*	V1	*	-	V1	T1	T1	*	OK
> V2	NG	NG	NG	-	V2	T2	T2	#	NG
> T1	*	V1	*	-	T1	T1	S/V1	*	OK
> T2	NG	NG	NG	-	T2	T2	V2	#	NG
> 
> ZZ = o (Done)
>      I (Done)
>      mI (Done)
>      auto-refile (Done)
> 
> S : Summary
> V1: 1 つの Summary から作られた Selection
> V2: 複数の Summary から作られた Selection
> T1: 1 つの Summary から作られた Thread
> T2: 複数の Summary から作られた Thread
-------------- next part --------------
Index: mew-thread.el
===================================================================
RCS file: /cvsmew/mew/mew-thread.el,v
retrieving revision 1.139
diff -u -r1.139 mew-thread.el
--- mew-thread.el	19 Dec 2007 07:04:00 -0000	1.139
+++ mew-thread.el	29 Dec 2007 05:25:06 -0000
@@ -345,8 +345,7 @@
 threads are created, see 'mew-use-complete-thread'."
   (interactive "r")
   (when (mew-summary-exclusive-p)
-    (let* ((folder (or (mew-summary-physical-folder)
-		       (mew-summary-folder-name)))
+    (let* ((folder (mew-summary-folder-name 'ext))
 	   (column (mew-get-summary-form folder 'column))
 	   db top tm1 tm2 tm3 tm4 tm5 tm6)
       (save-restriction
Index: contrib/mew-fancy-summary.el
===================================================================
RCS file: /cvsmew/mew/contrib/mew-fancy-summary.el,v
retrieving revision 1.11
diff -u -r1.11 mew-fancy-summary.el
--- contrib/mew-fancy-summary.el	14 Dec 2007 09:15:03 -0000	1.11
+++ contrib/mew-fancy-summary.el	29 Dec 2007 05:25:06 -0000
@@ -288,7 +288,7 @@
   (when (mew-thread-p)
     (mew-fancy-summary-remove-invisible)
     (setq mew-fancy-summary-scan-form
-		  (mew-get-summary-form (substring (mew-summary-folder-name 'ext) 1)))
+		  (mew-get-summary-form (mew-vinfo-get-original-folder)))
     (setq mew-fancy-summary-thread-column (mew-vinfo-get-column))
     (when (boundp 'font-lock-function)
       (set (make-local-variable 'font-lock-function)


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