Mercurial > emacs
diff lisp/gnus/gnus-start.el @ 110299:593e2b90e58b
gnus-start.el (gnus-read-active-for-groups): Check only subscribed groups.
author | Katsumi Yamaoka <yamaoka@jpl.org> |
---|---|
date | Fri, 10 Sep 2010 05:32:25 +0000 |
parents | ed38b7a7f11e |
children | 838fb634d1b0 |
line wrap: on
line diff
--- a/lisp/gnus/gnus-start.el Fri Sep 10 05:24:05 2010 +0000 +++ b/lisp/gnus/gnus-start.el Fri Sep 10 05:32:25 2010 +0000 @@ -1801,14 +1801,15 @@ (cond ((gnus-check-backend-function 'retrieve-groups (car method)) (when (gnus-check-backend-function 'request-scan (car method)) - (gnus-request-scan nil method)) - (gnus-read-active-file-2 - (mapcar (lambda (info) - (gnus-group-real-name (gnus-info-group info))) - infos) - method)) + (dolist (info infos) + (gnus-request-scan (gnus-info-group info) method))) + (let (groups) + (gnus-read-active-file-2 + (dolist (info infos (nreverse groups)) + (push (gnus-group-real-name (gnus-info-group info)) groups)) + method))) ((gnus-check-backend-function 'request-list (car method)) - (gnus-read-active-file-1 method nil)) + (gnus-read-active-file-1 method nil infos)) (t (dolist (info infos) (gnus-activate-group (gnus-info-group info) nil nil method t)))))) @@ -2037,7 +2038,7 @@ (message "Quit reading the active file") nil)))))))) -(defun gnus-read-active-file-1 (method force) +(defun gnus-read-active-file-1 (method force &optional infos) (let (where mesg) (setq where (nth 1 method) mesg (format "Reading active file%s via %s..." @@ -2050,7 +2051,10 @@ (when (and gnus-agent (gnus-online method) (gnus-check-backend-function 'request-scan (car method))) - (gnus-request-scan nil method)) + (if infos + (dolist (info infos) + (gnus-request-scan (gnus-info-group info) method)) + (gnus-request-scan nil method))) (cond ((and (eq gnus-read-active-file 'some) (gnus-check-backend-function 'retrieve-groups (car method))