From: Andrew G Cohen Date: Wed, 29 Mar 2023 06:05:59 +0000 (+0800) Subject: Update gnus/nnselect marks only for current articles X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=48ecbccaa3244183f58c5140f09b0b8eebdf65c9;p=emacs.git Update gnus/nnselect marks only for current articles * lisp/gnus/nnselect.el (nnselect-push-info): Restrict updating of marked articles to those whose headers have been retrieved, taking care to handle 'tuples. --- diff --git a/lisp/gnus/nnselect.el b/lisp/gnus/nnselect.el index 4680cf23e5e..9a2957c9f52 100644 --- a/lisp/gnus/nnselect.el +++ b/lisp/gnus/nnselect.el @@ -895,13 +895,17 @@ article came from is also searched." ;; collect the set of marked article lists categorized by ;; originating groups (pcase-dolist (`(,mark . ,type) gnus-article-mark-lists) - (let (type-list) - (when (setq type-list - (symbol-value (intern (format "gnus-newsgroup-%s" mark)))) - (push (cons - type - (numbers-by-group type-list (gnus-article-mark-to-type type))) - mark-list)))) + (let ((mark-type (gnus-article-mark-to-type type)) + (type-list (symbol-value + (intern (format "gnus-newsgroup-%s" mark))))) + (when type-list + (unless (eq 'tuple mark-type) + (setq type-list (range-list-intersection + gnus-newsgroup-articles type-list))) + (push (cons + type + (numbers-by-group type-list mark-type)) + mark-list)))) ;; now work on each originating group one at a time (pcase-dolist (`(,artgroup . ,artlist) (numbers-by-group gnus-newsgroup-articles))