1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-06 06:20:55 -08:00

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.
This commit is contained in:
Andrew G Cohen 2023-03-29 14:05:59 +08:00
parent 859b94e338
commit 48ecbccaa3

View file

@ -895,13 +895,17 @@ article came from is also searched."
;; collect the set of marked article lists categorized by ;; collect the set of marked article lists categorized by
;; originating groups ;; originating groups
(pcase-dolist (`(,mark . ,type) gnus-article-mark-lists) (pcase-dolist (`(,mark . ,type) gnus-article-mark-lists)
(let (type-list) (let ((mark-type (gnus-article-mark-to-type type))
(when (setq type-list (type-list (symbol-value
(symbol-value (intern (format "gnus-newsgroup-%s" mark)))) (intern (format "gnus-newsgroup-%s" mark)))))
(push (cons (when type-list
type (unless (eq 'tuple mark-type)
(numbers-by-group type-list (gnus-article-mark-to-type type))) (setq type-list (range-list-intersection
mark-list)))) 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 ;; now work on each originating group one at a time
(pcase-dolist (`(,artgroup . ,artlist) (pcase-dolist (`(,artgroup . ,artlist)
(numbers-by-group gnus-newsgroup-articles)) (numbers-by-group gnus-newsgroup-articles))