[Mew-dist 15437] Re: b88

Shun-ichi TAHARA ( 田原 俊一 ) jado at example.com
2000年 12月 13日 (水) 17:06:36 JST


From: Kazu Yamamoto (山本和彦) <kazu at example.com>
Message-Id: <20001212.195709.74682059.kazu at example.com>

> b88 をリリースします。
> 	ftp://ftp.mew.org/pub/Mew/alpha/mew-1.95b88.tar.gz

オリジナル(fancyじゃない方)のスレッド表示ルーチンも、再帰しないように
してみました。ほんの少しだけ速くなったような気がします。

# XEmacsだと、insert がすごく遅いので、他は全部誤差みたいなものですが

結果、fancyな方も、さほど速度的に不利というわけではないようですので、
あとは見た目の好みで選んでください、って感じでしょうか。
_______________________________
田原 俊一   jado at example.com, shunichi_tahara at example.com
                                  http://flowernet.gr.jp/jado/
FingerPrint: 16 9E 70 3B 05 86 5D 08 - B8 4C 47 3A E7 E9 8E D9
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
-------------- next part --------------
*** mew-thread.el.orig	Tue Dec 12 19:44:07 2000
--- mew-thread.el	Wed Dec 13 16:55:41 2000
*************** (defun mew-summary-thread-region (beg en
*** 332,339 ****
  	  mew-virtual-buffer-thread-top folder
  	  (mew-summary-scan-form folder 'column)))
  	(t
! 	 (mew-summary-thread-print-loop
! 	  mew-virtual-buffer-thread-top 0 folder
  	  (mew-summary-scan-form folder 'column))))
         (setq tm6 (current-time))
         ;;
--- 332,339 ----
  	  mew-virtual-buffer-thread-top folder
  	  (mew-summary-scan-form folder 'column)))
  	(t
! 	 (mew-summary-thread-print
! 	  mew-virtual-buffer-thread-top folder
  	  (mew-summary-scan-form folder 'column))))
         (setq tm6 (current-time))
         ;;
*************** (defun mew-summary-thread-region (beg en
*** 355,387 ****
  ;;; Visualizing thread
  ;;;
  
! (defun mew-summary-thread-print-loop (top level folder column)
!   (while top
!     (mew-summary-thread-print (car top) level folder column)
!     (setq top (cdr top))))
! 
! (defun mew-summary-thread-print (me level folder column)
!   (let (cld)
!     (mew-elet
!      (insert (mew-thread-get-line me))
!      (forward-line -1)
!      (move-to-column column)
!      (if (< level mew-thread-indent-array-size)
! 	 (insert (aref mew-thread-indent-array level))
!        (let* ((i 0)
! 	      (max (1- mew-thread-indent-array-size)) ;; take care
! 	      (lim (/ level max))
! 	      (j (% level max)))
! 	 (while (< i lim)
! 	   (insert (aref mew-thread-indent-array max))
! 	   (setq i (1+ i)))
! 	 (insert (aref mew-thread-indent-array j))))
!      (if (not (search-forward "\r" nil t))
! 	 ()
!        (insert " " folder " " (mew-thread-get-msg me)))
!      (forward-line))
!     (setq cld (mew-thread-get-child me))
!     (if cld (mew-summary-thread-print-loop cld (1+ level) folder column))))
  
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  ;;;
--- 355,394 ----
  ;;; Visualizing thread
  ;;;
  
! (defun mew-summary-thread-print (tree folder column)
!   (let ((tree-stack nil)
! 	(level 0))
!     (while tree
!       (let* ((me (car tree))
! 	     (cld (mew-thread-get-child me)))
! 	(mew-elet
! 	 (insert (mew-thread-get-line me))
! 	 (forward-line -1)
! 	 (move-to-column column)
! 	 (if (< level mew-thread-indent-array-size)
! 	     (insert (aref mew-thread-indent-array level))
! 	   (let* ((i 0)
! 		  (max (1- mew-thread-indent-array-size)) ;; take care
! 		  (lim (/ level max))
! 		  (j (% level max)))
! 	     (while (< i lim)
! 	       (insert (aref mew-thread-indent-array max))
! 	       (setq i (1+ i)))
! 	     (insert (aref mew-thread-indent-array j))))
! 	 (if (search-forward "\r" nil t)
! 	     (insert " " folder " " (mew-thread-get-msg me)))
! 	 (forward-line))
! 	(setq tree (cdr tree))
! 	(cond
! 	 (cld
! 	  (setq tree-stack (cons tree tree-stack))
! 	  (setq tree cld)
! 	  (setq level (1+ level)))
! 	 (t
! 	  (while (and (null tree) tree-stack)
! 	    (setq tree (car tree-stack))
! 	    (setq tree-stack (cdr tree-stack))
! 	    (setq level (1- level)))))))))
  
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  ;;;


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