[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 メーリングリストの案内