(nnvirtual-partition-sequence
(gnus-list-of-unread-articles
(nnvirtual-current-group)))))
- (type-marks
- (delq nil
- (mapcar (lambda (ml)
- (if (eq (car ml) 'score)
- nil
- (cons (car ml)
- (nnvirtual-partition-sequence (cdr ml)))))
- (gnus-info-marks (gnus-get-info
- (nnvirtual-current-group))))))
+ (type-marks (mapcar (lambda (ml)
+ (cons (car ml)
+ (nnvirtual-partition-sequence (cdr ml))))
+ (gnus-info-marks (gnus-get-info
+ (nnvirtual-current-group)))))
mark type groups carticles info entry)
;; Ok, atomically move all of the (un)read info, clear any old
;; marks, and move all of the current marks. This way if someone
;; hits C-g, you won't leave the component groups in a half-way state.
- (progn
+ (gnus-atomic-progn
;; move (un)read
(let ((gnus-newsgroup-active nil)) ;workaround guns-update-read-articles
(while (setq entry (pop unreads))
(while groups
(when (and (setq info (gnus-get-info (pop groups)))
(gnus-info-marks info))
- (gnus-info-set-marks
- info
- (if (assq 'score (gnus-info-marks info))
- (list (assq 'score (gnus-info-marks info)))
- nil))))
+ (gnus-info-set-marks info nil)))
;; Ok, currently type-marks is an assq list with keys of a mark type,
;; with data of an assq list with keys of component group names