[Mew-dist 15564] Re: thread separator patch again, final ?

NINOMIYA Hideyuki nin at example.com
2000年 12月 18日 (月) 22:17:20 JST


ちょっと 'C-cC-n' の時の動きが変だったので出し直しです。m(__)m
15563 のパッチのことは忘れて下さい。

以下のパッチのほうが良いです。

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 12:53:07
*************** (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 ()
*** 517,522 ****
--- 527,533 ----
  	   (move-to-column column)
  	   (if (looking-at mew-thread-indent-regex)
  	       (forward-line)
+ 	     (if (not (mew-summary-message-number)) (forward-line))
  	     (throw 'loop (setq here (point)))))))
       (if here
  	 (progn



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