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