diff options
Diffstat (limited to 'lisp/gnus/gnus-agent.el')
-rw-r--r-- | lisp/gnus/gnus-agent.el | 29 |
1 files changed, 16 insertions, 13 deletions
diff --git a/lisp/gnus/gnus-agent.el b/lisp/gnus/gnus-agent.el index bed480f5541..a09b4368893 100644 --- a/lisp/gnus/gnus-agent.el +++ b/lisp/gnus/gnus-agent.el @@ -1193,7 +1193,7 @@ This can be added to `gnus-select-article-hook' or ;;; (defun gnus-agent-synchronize-group-flags (group actions server) -"Update a plugged group by performing the indicated actions." + "Update a plugged group by performing the indicated actions." (let* ((gnus-command-method (gnus-server-to-method server)) (info ;; This initializer is required as gnus-request-set-mark @@ -1227,18 +1227,21 @@ This can be added to `gnus-select-article-hook' or ((memq mark '(tick)) (let ((info-marks (assoc mark (gnus-info-marks info)))) (unless info-marks - (gnus-info-set-marks info (cons (setq info-marks (list mark)) (gnus-info-marks info)))) - (setcdr info-marks (funcall (if (eq what 'add) - 'gnus-range-add - 'gnus-remove-from-range) - (cdr info-marks) - range)))))))) - - ;;Marks can be synchronized at any time by simply toggling from - ;;unplugged to plugged. If that is what is happening right now, make - ;;sure that the group buffer is up to date. - (when (gnus-buffer-live-p gnus-group-buffer) - (gnus-group-update-group group t))) + (gnus-info-set-marks + info (cons (setq info-marks (list mark)) + (gnus-info-marks info)))) + (setcdr info-marks + (funcall (if (eq what 'add) + 'gnus-range-add + 'gnus-remove-from-range) + (cdr info-marks) + range)))))))) + + ;; Marks can be synchronized at any time by simply toggling from + ;; unplugged to plugged. If that is what is happening right now, + ;; make sure that the group buffer is up to date. + (when (gnus-buffer-live-p gnus-group-buffer) + (gnus-group-update-group group t))) nil)) (defun gnus-agent-save-active (method &optional groups-p) |