[Mew-dist 15045] Re: thread

Shun-ichi GOTO gotoh at example.com
2000年 11月 25日 (土) 15:47:31 JST


>>>>> at Sat, 25 Nov 2000 11:22:05 +0900
>>>>> 後藤 == Shun-ichi GOTO <gotoh at example.com> said,

後藤> 個人的には差出人もインデントしたいと思うクチなので、こんなのもお好み候補。

後藤>   787  11/24 ISHIKAWA Masaru    [Mew-dist 15026] Re: thread
後藤>   788  11/24   itojun at example.com  [Mew-dist 15027] Re: thread 
後藤>   789  11/24     OHARA Shigeki      [Mew-dist 15028] Re: thread

現状の実現方法において最小限の変更で上記を行なえるようにしてみました。
内容は『固定カラムの指定』というかインデント用の空白を挿入する位置を
指定出来るようにしたという事。

上記だと
(setq mew-thread-indent-fixed-column 14)
なんて設定をしてこんな感じ

   161  07/07 NARA Susumu <n [Mew-dist 13537] Re: 冒険家バージョン
   164  07/07   Kazu Yamamoto  [Mew-dist 13538] Re: 冒険家バージョン
   179  07/07     NARA Susumu <n [Mew-dist 13542] Re: 冒険家バージョン
   190  07/07       Takanori-Nishi [Mew-dist 13546] Re: 冒険家バージョン

(setq mew-thread-indent-fixed-column 29)
だとこんなん↓

   158  07/07 To:mew-dist at example.com [Mew-dist 13536] Re: 冒険家バージョン
   166  07/07 NARA Susumu <n   [Mew-dist 13539] Re: 冒険家バージョン
   170  07/07 Hideaki YOSHIF     [Mew-dist 13540] Re: 冒険家バージョン
   190  07/07 Takanori-Nishi       [Mew-dist 13546] Re: 冒険家バージョン

mew-thread-indent-fixed-column は正の整数 or nil を指定します。
デフォルトは nil でこの時はオリジナルの動作と全く同一です。

以下 mew-thread.el に対するパッチ


Index: mew-thread.el
===================================================================
RCS file: /Master/mew-1.95/mew-thread.el,v
retrieving revision 1.1.1.1
diff -u -r1.1.1.1 mew-thread.el
--- mew-thread.el	2000/11/24 09:33:35	1.1.1.1
+++ mew-thread.el	2000/11/25 06:41:52
@@ -12,6 +12,7 @@
 
 (defvar mew-use-complete-thread t)
 (defvar mew-regex-thread-indent nil)
+(defvar mew-thread-indent-fixed-column nil)
 
 (defun mew-thread-make-entry ()
   (make-vector 4 nil))
@@ -128,6 +129,8 @@
      (if (not (re-search-forward regex nil t))
 	 ()
        (setq msg (mew-match 1))
+       (if (integerp mew-thread-indent-fixed-column)
+	   (move-to-column mew-thread-indent-fixed-column))
        (setq i 0)
        (while (< i level)
 	 (insert "  ")



form 指定からカラムを自動計算する、というのも実現可能でしょうけど、
とりあえずここまで。

P.S.
mew-summary-thread-print の中で regex の\1 はmsg 番号にマッチする
事を前提としていますが、ユーザ設定可能な変数 mew-regex-thread-indent 
はそんなことお構いなしに設定されてしまいがちです。
doc-string で表記するか、あるいは mew-regex-msg にconcat する
ための変数とする、などと下方がいいかな。

後者だとすると、こういうパッチかしら。

Index: mew-thread.el
===================================================================
RCS file: /Master/mew-1.95/mew-thread.el,v
retrieving revision 1.1.1.1
diff -u -r1.1.1.1 mew-thread.el
--- mew-thread.el       2000/11/24 09:33:35     1.1.1.1
+++ mew-thread.el       2000/11/25 06:46:03
@@ -57,7 +58,7 @@
    (let* ((folder (mew-summary-folder-name 'ext))
          (vfolder (concat "+" folder))
          (db (make-vector 211 0)) ;; prime 211 = 2 x 3 x 5 x 7 + 1
-         (regex (or mew-regex-thread-indent (concat mew-regex-msg ".")))
+         (regex (concat mew-regex-msg (or mew-regex-thread-indent ".")))
          top start me prnt prnt-cld my-id prnt-id func)
      (message "Making thread ... ")
      (save-restriction


--- Regards,
 Shun-ichi Goto  <gotoh at example.com>
   R&D Group, TAIYO Corp., Tokyo, JAPAN



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