Synch with Oort Gnus.
authoryamaoka <yamaoka>
Fri, 24 Aug 2001 10:07:41 +0000 (10:07 +0000)
committeryamaoka <yamaoka>
Fri, 24 Aug 2001 10:07:41 +0000 (10:07 +0000)
lisp/ChangeLog
lisp/gnus-group.el

index 30a9df9..f445159 100644 (file)
@@ -1,5 +1,10 @@
 2001-08-24  Simon Josefsson  <jas@extundo.com>
 
+       * gnus-group.el (gnus-info-clear-data): Call
+       nnfoo-request-set-mark to propagate marks.  Fix bug:
+       `gnus-group-update-line' doesn't update read range unless we call
+       `gnus-get-unread-articles-in-group' first.
+
        * nnimap.el (nnimap-request-set-mark): Don't propagate seen flags
        to server.
 
index 1ff22b6..cc9dacd 100644 (file)
@@ -2845,13 +2845,22 @@ sort in reverse order."
 
 (defun gnus-info-clear-data (info)
   "Clear all marks and read ranges from INFO."
-  (let ((group (gnus-info-group info)))
+  (let ((group (gnus-info-group info))
+       action)
+    (dolist (el (gnus-info-marks info))
+      (push `(,(cdr el) add (,(car el))) action))
+    (push `(,(gnus-info-read info) add (read)) action)
     (gnus-undo-register
       `(progn
+        (gnus-request-set-mark ,group ',action)
         (gnus-info-set-marks ',info ',(gnus-info-marks info) t)
         (gnus-info-set-read ',info ',(gnus-info-read info))
         (when (gnus-group-goto-group ,group)
+          (gnus-get-unread-articles-in-group ',info ',(gnus-active group) t)
           (gnus-group-update-group-line))))
+    (setq action (mapcar (lambda (el) (list (nth 0 el) 'del (nth 2 el)))
+                        action))
+    (gnus-request-set-mark group action)
     (gnus-info-set-read info nil)
     (when (gnus-info-marks info)
       (gnus-info-set-marks info nil))))