summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew G Cohen <cohen@andy.bu.edu>2023-03-29 10:23:06 +0800
committerAndrew G Cohen <cohen@andy.bu.edu>2023-04-09 14:23:34 +0800
commit859b94e338639e1838e607be5784dc65ad455671 (patch)
tree0f08795440dea039fcf9b830c858ff5a2680f8d7
parenta371be52576e1f14787a7699582d2f31af7b05c7 (diff)
downloademacs-859b94e338639e1838e607be5784dc65ad455671.tar.gz
emacs-859b94e338639e1838e607be5784dc65ad455671.tar.bz2
emacs-859b94e338639e1838e607be5784dc65ad455671.zip
Compute gnus/nnselect read articles from summary variables
* 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.
-rw-r--r--lisp/gnus/nnselect.el11
1 files changed, 6 insertions, 5 deletions
diff --git a/lisp/gnus/nnselect.el b/lisp/gnus/nnselect.el
index 42247574cc7..4680cf23e5e 100644
--- a/lisp/gnus/nnselect.el
+++ b/lisp/gnus/nnselect.el
@@ -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)