From: Daiki Ueno Date: Sun, 15 Apr 2018 14:11:46 +0000 (+0200) Subject: Divert to call `gnus-activate-group' with the SCAN argument set X-Git-Tag: emacs-27.0.90~5191 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=c3ca885f4931a3b17b7e826cc866550d264d685a;p=emacs.git Divert to call `gnus-activate-group' with the SCAN argument set * lisp/gnus/gnus-group.el (gnus-group-get-new-news-this-group): Divert to call `gnus-activate-group' with the SCAN argument set, if request-group-scan is not defined for the backend. Ensure that the server is open when calling `gnus-request-group-scan' (bug#22649). --- diff --git a/lisp/gnus/gnus-group.el b/lisp/gnus/gnus-group.el index 1a3646800e9..d1f258fd92a 100644 --- a/lisp/gnus/gnus-group.el +++ b/lisp/gnus/gnus-group.el @@ -4105,9 +4105,14 @@ If DONT-SCAN is non-nil, scan non-activated groups as well." (gnus-group-remove-mark group) ;; Bypass any previous denials from the server. (gnus-remove-denial (setq method (gnus-find-method-for-group group))) - (if (or (and (not dont-scan) - (gnus-request-group-scan group (gnus-get-info group))) - (gnus-activate-group group (if dont-scan nil 'scan) nil method)) + (if (if (and (not dont-scan) + ;; Prefer request-group-scan if the backend supports it. + (gnus-check-backend-function 'request-group-scan group)) + (progn + ;; Ensure that the server is already open. + (gnus-activate-group group nil nil method) + (gnus-request-group-scan group (gnus-get-info group))) + (gnus-activate-group group (if dont-scan nil 'scan) nil method)) (let ((info (gnus-get-info group)) (active (gnus-active group))) (when info