[mew-dist 21439] Re: highlight-summary fixed

Shun-ichi TAHARA ( 田原 俊一 ) jado at example.com
2002年 8月 16日 (金) 00:41:37 JST


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

> mew-sort.el に出てくる変数 LEN は、排除して下さい。
> mew-sort-adjust-number が必要情報を、リストで返せばいいでしょう。

ええと、こんな感じでしょうか。
--
田原 / jado at example.com

Index: mew/mew-sort.el
===================================================================
RCS file: /cvsmew/mew/mew-sort.el,v
retrieving revision 1.53
diff -c -r1.53 mew-sort.el
*** mew/mew-sort.el	2002/08/15 07:19:42	1.53
--- mew/mew-sort.el	2002/08/15 15:34:21
***************
*** 96,111 ****
  
  (defun mew-sort-adjust-number (form num line)
    (if (string-match mew-regex-msg line)
!       (let ((n (match-end 0))
! 	    (props (text-properties-at 0 line)))
! 	(setq num (format form num))
! 	(setq LEN (length num))
  	(when props
! 	  (add-text-properties 0 LEN props num))
! 	(when (eq LEN n)
! 	  (setq LEN nil))
! 	(concat num (substring line n)))
!     line)) ;; error
  
  ;; If not found, returns nil.
  (defun mew-summary-sort-rename (src dst pos form &optional lastp)
--- 96,111 ----
  
  (defun mew-sort-adjust-number (form num line)
    (if (string-match mew-regex-msg line)
!       (let* ((n (match-end 0))
! 	     (props (text-properties-at 0 line))
! 	     (numstr (format form num))
! 	     (len (length numstr)))
  	(when props
! 	  (add-text-properties 0 len props numstr))
! 	(when (eq len n)
! 	  (setq len nil))
! 	(cons len (concat numstr (substring line n))))
!     (cons nil line))) ;; error
  
  ;; If not found, returns nil.
  (defun mew-summary-sort-rename (src dst pos form &optional lastp)
***************
*** 113,130 ****
        (mew-elet
         (insert (format "move %s to %s\n" src dst)))
      (mew-elet
!      (let (beg end line face LEN)
         (rename-file src dst)
         (mew-refile-change src dst)
         (cond
  	(lastp
  	 (when pos
  	   (goto-char pos)
! 	   (insert (mew-sort-adjust-number form dst mew-sort-line))
  	   (mew-mark-put-face pos (1- (point)) mew-sort-mark-face)
! 	   (when LEN
  	     (forward-line -1)
! 	     (mew-highlight-adjust-summary-property-num-width LEN)
  	     (forward-line 1))))
  	((null pos) ;; first
  	 (goto-char (point-min))
--- 113,131 ----
        (mew-elet
         (insert (format "move %s to %s\n" src dst)))
      (mew-elet
!      (let (beg end line face adj)
         (rename-file src dst)
         (mew-refile-change src dst)
         (cond
  	(lastp
  	 (when pos
  	   (goto-char pos)
! 	   (setq adj (mew-sort-adjust-number form dst mew-sort-line))
! 	   (insert (cdr adj))
  	   (mew-mark-put-face pos (1- (point)) mew-sort-mark-face)
! 	   (when (car adj)
  	     (forward-line -1)
! 	     (mew-highlight-adjust-summary-property-num-width (car adj))
  	     (forward-line 1))))
  	((null pos) ;; first
  	 (goto-char (point-min))
***************
*** 152,185 ****
  	     (delete-region beg end)
  	     (save-excursion
  	       (goto-char pos)
! 	       (insert (mew-sort-adjust-number form dst line))
  	       (mew-mark-put-face pos (1- (point)) face)
! 	       (when LEN
  		 (forward-line -1)
! 		 (mew-highlight-adjust-summary-property-num-width LEN)))
  	     (point))
  	    ((= pos beg)
  	     (setq line (buffer-substring beg end))
  	     (setq face (mew-sort-get-mark-face beg end))
  	     (delete-region beg end)
! 	     (goto-char pos)                    
! 	     (insert (mew-sort-adjust-number form dst line))
  	     (mew-mark-put-face pos (1- (point)) face)
! 	     (when LEN
  	       (forward-line -1)
! 	       (mew-highlight-adjust-summary-property-num-width LEN)
  	       (forward-line 1))
  	     (point))
  	    (t
  	     (setq line (buffer-substring beg end))
  	     (setq face (mew-sort-get-mark-face beg end))
  	     (goto-char pos)
! 	     (insert (mew-sort-adjust-number form dst line))
  	     (mew-mark-put-face pos (1- (point)) face)
  	     (delete-region beg end)
! 	     (when LEN
  	       (forward-line -1)
! 	       (mew-highlight-adjust-summary-property-num-width LEN)
  	       (forward-line 1))
  	     beg)))))))))
  
--- 153,189 ----
  	     (delete-region beg end)
  	     (save-excursion
  	       (goto-char pos)
! 	       (setq adj (mew-sort-adjust-number form dst line))
! 	       (insert (cdr adj))
  	       (mew-mark-put-face pos (1- (point)) face)
! 	       (when (car adj)
  		 (forward-line -1)
! 		 (mew-highlight-adjust-summary-property-num-width (car adj))))
  	     (point))
  	    ((= pos beg)
  	     (setq line (buffer-substring beg end))
  	     (setq face (mew-sort-get-mark-face beg end))
  	     (delete-region beg end)
! 	     (goto-char pos)
! 	     (setq adj (mew-sort-adjust-number form dst line))
! 	     (insert (cdr adj))
  	     (mew-mark-put-face pos (1- (point)) face)
! 	     (when (car adj)
  	       (forward-line -1)
! 	       (mew-highlight-adjust-summary-property-num-width (car adj))
  	       (forward-line 1))
  	     (point))
  	    (t
  	     (setq line (buffer-substring beg end))
  	     (setq face (mew-sort-get-mark-face beg end))
  	     (goto-char pos)
! 	     (setq adj (mew-sort-adjust-number form dst line))
! 	     (insert (cdr adj))
  	     (mew-mark-put-face pos (1- (point)) face)
  	     (delete-region beg end)
! 	     (when (car adj)
  	       (forward-line -1)
! 	       (mew-highlight-adjust-summary-property-num-width (car adj))
  	       (forward-line 1))
  	     beg)))))))))
  
***************
*** 392,398 ****
        (mew-elet
         (insert (format "move %s to %s\n" src dst)))
      (mew-elet
!      (let (beg end line ovl)
         (rename-file src dst)
         (mew-refile-change src dst)
         (when (re-search-forward (mew-regex-jmp-msg src) nil t)
--- 396,402 ----
        (mew-elet
         (insert (format "move %s to %s\n" src dst)))
      (mew-elet
!      (let (beg end line ovl adj)
         (rename-file src dst)
         (mew-refile-change src dst)
         (when (re-search-forward (mew-regex-jmp-msg src) nil t)
***************
*** 401,411 ****
  	 (setq line (buffer-substring beg end))
  	 (setq ovl (mew-sort-get-mark-overlay beg end))
  	 (delete-region beg end)
! 	 (insert (mew-sort-adjust-number form dst line))
  	 (when ovl
  	   (move-overlay ovl beg (overlay-end ovl)))
! 	 (when LEN
! 	   (mew-highlight-adjust-summary-property-num-width LEN))
  	 (forward-line))))))
  
  (defun mew-summary-pack ()
--- 405,416 ----
  	 (setq line (buffer-substring beg end))
  	 (setq ovl (mew-sort-get-mark-overlay beg end))
  	 (delete-region beg end)
! 	 (setq adj (mew-sort-adjust-number form dst line))
! 	 (insert (cdr adj))
  	 (when ovl
  	   (move-overlay ovl beg (overlay-end ovl)))
! 	 (when (car adj)
! 	   (mew-highlight-adjust-summary-property-num-width (car adj)))
  	 (forward-line))))))
  
  (defun mew-summary-pack ()



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