From 1a39e2ac1b4561a6a49930a89f6aee357cd1cb91 Mon Sep 17 00:00:00 2001 From: hmurata Date: Sun, 6 Feb 2005 12:15:00 +0000 Subject: [PATCH] (elmo-event-handler-flag-changed): Does not check whether a target message is within displaying area. (elmo-event-handler-cache-changed): Ditto. --- wl/ChangeLog | 6 ++++ wl/wl-summary.el | 83 ++++++++++++++++++++++++++++++------------------------ 2 files changed, 52 insertions(+), 37 deletions(-) diff --git a/wl/ChangeLog b/wl/ChangeLog index a93eea3..4c08dd4 100644 --- a/wl/ChangeLog +++ b/wl/ChangeLog @@ -1,3 +1,9 @@ +2005-02-06 Hiroya Murata + + * wl-summary.el (elmo-event-handler-flag-changed): Does not check + whether a target message is within displaying area. + (elmo-event-handler-cache-changed): Ditto. + 2005-02-01 Tetsurou Okazaki * wl-thread.el (wl-thread-entity-get-descendant): Change `defsubst' diff --git a/wl/wl-summary.el b/wl/wl-summary.el index d895a91..e0c31be 100644 --- a/wl/wl-summary.el +++ b/wl/wl-summary.el @@ -659,49 +659,58 @@ See also variable `wl-use-petname'." numbers) (save-excursion (set-buffer (wl-summary-event-handler-buffer-internal handler)) - (let ((window-list (get-buffer-window-list (current-buffer) 'nomini t)) - invalidate) + (if wl-summary-lazy-update-mark + (let ((window-list (get-buffer-window-list (current-buffer) 'nomini t)) + invalidate) + (dolist (number numbers) + (when (wl-summary-message-visible-p number) + (if (catch 'visible + (let ((window-list window-list) + win) + (while (setq win (car window-list)) + (when (wl-summary-jump-to-msg number + (window-start win) + (window-end win)) + (throw 'visible t)) + (setq window-list (cdr window-list))))) + (wl-summary-update-persistent-mark number) + (setq invalidate t)))) + (when invalidate + (wl-summary-invalidate-persistent-mark) + (dolist (win window-list) + (wl-summary-validate-persistent-mark + (window-start win) + (window-end win))))) (dolist (number numbers) - (when (wl-summary-message-visible-p number) - (if (catch 'visible - (let ((window-list window-list) - win) - (while (setq win (car window-list)) - (when (wl-summary-jump-to-msg number - (window-start win) - (window-end win)) - (throw 'visible t)) - (setq window-list (cdr window-list))))) - (wl-summary-update-persistent-mark number) - (setq invalidate t)))) - (when invalidate - (wl-summary-invalidate-persistent-mark) - (dolist (win window-list) - (wl-summary-validate-persistent-mark - (window-start win) - (window-end win))))))) + (when (and (wl-summary-message-visible-p number) + (wl-summary-jump-to-msg number)) + (wl-summary-update-persistent-mark number)))))) (luna-define-method elmo-event-handler-cache-changed ((handler wl-summary-event-handler) number) (save-excursion (set-buffer (wl-summary-event-handler-buffer-internal handler)) - (let ((window-list (get-buffer-window-list (current-buffer) 'nomini t))) - (when (wl-summary-message-visible-p number) - (if (catch 'visible - (let ((window-list window-list) - win) - (while (setq win (car window-list)) - (when (wl-summary-jump-to-msg number - (window-start win) - (window-end win)) - (throw 'visible t)) - (setq window-list (cdr window-list))))) - (wl-summary-update-persistent-mark number) - (wl-summary-invalidate-persistent-mark) - (dolist (win window-list) - (wl-summary-validate-persistent-mark - (window-start win) - (window-end win)))))))) + (if wl-summary-lazy-update-mark + (let ((window-list (get-buffer-window-list (current-buffer) 'nomini t))) + (when (wl-summary-message-visible-p number) + (if (catch 'visible + (let ((window-list window-list) + win) + (while (setq win (car window-list)) + (when (wl-summary-jump-to-msg number + (window-start win) + (window-end win)) + (throw 'visible t)) + (setq window-list (cdr window-list))))) + (wl-summary-update-persistent-mark number) + (wl-summary-invalidate-persistent-mark) + (dolist (win window-list) + (wl-summary-validate-persistent-mark + (window-start win) + (window-end win)))))) + (when (and (wl-summary-message-visible-p number) + (wl-summary-jump-to-msg number)) + (wl-summary-update-persistent-mark number))))) (defun wl-summary-buffer-detach () (when (and (eq major-mode 'wl-summary-mode) -- 1.7.10.4