[Mew-dist 15563] thread separator patch again, final ?

NINOMIYA Hideyuki nin at example.com
2000年 12月 18日 (月) 21:07:23 JST


こんばんは	二宮@お四国 です

new thread separator patch for b90 です。

一応メッセージ数表示も正しく出るようにしてますが、
# のでスピード的に問題ないなら merge してほしいなぁ...
セパレータ行を search-foward で数えるというしょぼい方法しか
思いつけませんでしたので、スピードが落ちてるのではないかと思います。
そのへん検証いただけると有り難いです。> all α tester
---
ICQ UIN:57442553                          二宮 秀幸@愛媛 鬼北 広見町
PGP-Fingerprint:  6C59 EC08 5B23 6490 44D0  7CD3 DA40 219F 7114 8553
PGP-Public-Key:    http://user.shikoku.ne.jp/~nin/pgp/public-key.txt
mailto:nin at example.com   http://user.shikoku.ne.jp/~nin/index.html
mailto:nin at example.com http://home.jp.freebsd.org/~nin/index.html

Index: mew-summary.el
===================================================================
RCS file: /tmp/am/da/cvs/mew/mew-summary.el,v
retrieving revision 1.1.1.13
diff -c -F(def -r1.1.1.13 mew-summary.el
*** mew-summary.el	2000/12/14 03:05:51	1.1.1.13
--- mew-summary.el	2000/12/18 11:52:17
*************** (defmacro mew-summary-msg (&rest body)
*** 36,42 ****
    (` (cond
        ((eobp) (message "No message"))
        ((not (mew-summary-message-number))
!        (message "Please use this command on a message, not a part"))
        (t
         (,@ body)))))
  
--- 36,44 ----
    (` (cond
        ((eobp) (message "No message"))
        ((not (mew-summary-message-number))
!        (let ((msg ""))
! 	 (if mew-use-thread-separator (setq msg " or thread separator"))
! 	 (message "Please use this command on a message, not a part%s" msg)))
        (t
         (,@ body)))))
  
*************** (defun mew-summary-mode-line ()
*** 548,553 ****
--- 550,559 ----
    (if mew-summary-buffer-process
        ()
      (let ((left (1- (mew-count-lines (point) (point-max)))))
+       (if (and (mew-thread-p) mew-use-thread-separator)
+ 	  (let ((spl (concat "\n" mew-thread-separator "\n")))
+ 	    (save-excursion
+ 	      (while (search-forward spl nil t) (setq left (1- left))))))
        (if (and (mew-decode-syntax-p)
  	       (equal (mew-decode-syntax-buffer) (current-buffer)))
  	  (setq left (- left (mew-count-lines (mew-decode-syntax-begin)
Index: mew-thread.el
===================================================================
RCS file: /tmp/am/da/cvs/mew/mew-thread.el,v
retrieving revision 1.1.1.11
diff -c -F(def -r1.1.1.11 mew-thread.el
*** mew-thread.el	2000/12/15 11:29:24	1.1.1.11
--- mew-thread.el	2000/12/18 11:55:28
*************** (defvar mew-fancy-thread-indent-strings 
*** 75,80 ****
--- 75,83 ----
  
  All members must have same lengths.")
  
+ (defvar mew-use-thread-separator nil)
+ (defvar mew-thread-separator "")
+ 
  (defvar mew-thread-indent-length nil)
  (defvar mew-thread-indent-regex nil)
  (defvar mew-thread-indent-lregex nil)
*************** (defun mew-summary-thread-print (tree fo
*** 362,367 ****
--- 365,373 ----
        (let* ((me (car tree))
  	     (cld (mew-thread-get-child me)))
  	(mew-elet
+ 	 (if (and mew-use-thread-separator (= 0 level)
+ 		  (not (= 1 (line-beginning-position))))
+ 	     (insert (concat  mew-thread-separator "\n")))
  	 (insert (mew-thread-get-line me))
  	 (forward-line -1)
  	 (move-to-column column)
*************** (defun mew-summary-fancy-thread-print-to
*** 400,405 ****
--- 406,414 ----
      (let* ((me (car top))
  	   (cld (mew-thread-get-child me)))
        (mew-elet
+        (if (and mew-use-thread-separator
+ 		(not (= 1 (line-beginning-position))))
+ 	   (insert (concat mew-thread-separator "\n")))
         (insert (mew-thread-get-line me))
         (forward-line -1)
         (move-to-column column)
*************** (defun mew-summary-thread-up ()
*** 488,493 ****
--- 497,503 ----
         (mew-summary-goto-message)
         (mew-decode-syntax-delete)
         (forward-line -1)
+        (if (not (mew-summary-message-number)) (forward-line -1))
         (catch 'loop
  	 (while (not (bobp))
  	   (move-to-column column)
*************** (defun mew-summary-thread-down ()
*** 512,517 ****
--- 522,528 ----
         (mew-summary-goto-message)
         (mew-decode-syntax-delete)
         (forward-line)
+        (if (not (mew-summary-message-number)) (forward-line))
         (catch 'loop
  	 (while (not (eobp))
  	   (move-to-column column)



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