]> git.eshelyaron.com Git - emacs.git/commitdiff
Compute gnus/nnselect read articles from summary variables
authorAndrew G Cohen <cohen@andy.bu.edu>
Wed, 29 Mar 2023 02:23:06 +0000 (10:23 +0800)
committerAndrew G Cohen <cohen@andy.bu.edu>
Sun, 9 Apr 2023 06:23:34 +0000 (14:23 +0800)
* lisp/gnus/nnselect.el (nnselect-push-info): The current list of read
articles should be computed from the summary buffer local variables,
not from the group info.

lisp/gnus/nnselect.el

index 42247574cc7e5e9850b2f35e5f0f22f94059448c..4680cf23e5ebf7859a7650f9fdecc969978cdb40 100644 (file)
@@ -884,13 +884,14 @@ article came from is also searched."
 
 
 
-(defun nnselect-push-info (group)
+(defun nnselect-push-info (_group)
   "Copy mark-lists from GROUP to the originating groups."
   (let ((select-unreads (numbers-by-group gnus-newsgroup-unreads))
-       (select-reads (numbers-by-group
-                      (gnus-info-read (gnus-get-info group)) 'range))
-       (select-unseen (numbers-by-group gnus-newsgroup-unseen))
-       (gnus-newsgroup-active nil) mark-list)
+        (select-reads (numbers-by-group
+                       (gnus-sorted-difference gnus-newsgroup-articles
+                                               gnus-newsgroup-unreads)))
+        (select-unseen (numbers-by-group gnus-newsgroup-unseen))
+        (gnus-newsgroup-active nil) mark-list)
     ;; collect the set of marked article lists categorized by
     ;; originating groups
     (pcase-dolist (`(,mark . ,type) gnus-article-mark-lists)