[Mew-dist 15078] Re: b81

Hideyuki SHIRAI ( 白井秀行 ) shirai at example.com
2000年 11月 27日 (月) 10:24:49 JST


From: HOSONO Hidetomo <h at example.com> さん曰く
Subject: [Mew-dist 15069] Re: b81
Message-ID: <20001126.054255.74736888.h at example.com>
Date: Sun, 26 Nov 2000 05:44:03 +0900

ほその> たとえば
ほその> ----------------------------------------------------------------------
ほその> (setq mew-thread-separator "     ---------------------------------")
ほその> ----------------------------------------------------------------------
ほその> とすると、

とても気にいってしまいました。ありがとうございます。thread も見
易いし、パッと見て、summary なのか thread なのかわかるのもありが
たいです。

ほその> XEmacsの上などで試して頂けると有難いです。

xemacs-21.2-b37 ではなにも問題なく動作しています。


thread に関する最後(?)のお願いなのですが、せっかく func を設定
できるので、パッチの様にユーザが設定する余地を残しておいてくれる
とありがたいです。私はこんなの↓を書いて使っています。

(defun mew-summary-regex-thread (regex)
  (interactive
   (list (read-from-minibuffer "Thread Regexp: ")))
  (let (func)
    (and (equal regex "") (setq regex "."))
    (setq func (lambda ()
		 (catch 'detect
		   (while (re-search-forward regex nil t)
		     (if (looking-at "[^\n]*\r")
			 (throw 'detect t)
		       (forward-line)))
		   nil)))
    (mew-summary-thread-region (point-min) (point-max) nil func)))

# で、"T" に割り当てて、ますます幸福に thread を使えるようになり
# ました。

-- 
白井秀行 (mailto:shirai at example.com)

--- mew-thread.el.orig	Sat Nov 25 17:09:18 2000
+++ mew-thread.el	Mon Nov 27 09:33:55 2000
@@ -51,22 +53,24 @@
       (mew-summary-thread-region (region-beginning) (region-end))
     (mew-summary-thread-region (point-min) (point-max))))
 
-(defun mew-summary-thread-region (beg end &optional mark)
+(defun mew-summary-thread-region (beg end &optional mark func)
   (interactive "r")
   (mew-summary-only
    (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
-	  top start me prnt prnt-cld my-id prnt-id func)
+	  top start me prnt prnt-cld my-id prnt-id)
      (message "Making thread ... ")
      (save-restriction
        (narrow-to-region beg end)
        (save-excursion
 	 (goto-char (point-min))
-	 (if mark
-	     (setq func (lambda ()
-			  (re-search-forward mew-regex-msg-review nil t)))
-	   (setq func (lambda () (not (eobp)))))
+	 (if func
+	     ()
+	   (if mark
+	       (setq func (lambda ()
+			    (re-search-forward mew-regex-msg-review nil t)))
+	     (setq func (lambda () (not (eobp))))))
 	 (while (funcall func)
 	   (beginning-of-line)
 	   (setq start (point))



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