(elmo-event-handler-flag-changed): Does not check
authorhmurata <hmurata>
Sun, 6 Feb 2005 12:15:00 +0000 (12:15 +0000)
committerhmurata <hmurata>
Sun, 6 Feb 2005 12:15:00 +0000 (12:15 +0000)
whether a target message is within displaying area.
(elmo-event-handler-cache-changed): Ditto.

wl/ChangeLog
wl/wl-summary.el

index a93eea3..4c08dd4 100644 (file)
@@ -1,3 +1,9 @@
+2005-02-06  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * 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  <okazaki@be.to>
 
        * wl-thread.el (wl-thread-entity-get-descendant): Change `defsubst'
index d895a91..e0c31be 100644 (file)
@@ -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)