diff options
author | Andrew G Cohen <cohen@andy.bu.edu> | 2023-03-29 10:23:06 +0800 |
---|---|---|
committer | Andrew G Cohen <cohen@andy.bu.edu> | 2023-04-09 14:23:34 +0800 |
commit | 859b94e338639e1838e607be5784dc65ad455671 (patch) | |
tree | 0f08795440dea039fcf9b830c858ff5a2680f8d7 | |
parent | a371be52576e1f14787a7699582d2f31af7b05c7 (diff) | |
download | emacs-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.el | 11 |
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) |