+2010-09-10 Katsumi Yamaoka <yamaoka@jpl.org>
+
+ * gnus-start.el (gnus-read-active-for-groups): Check only subscribed
+ groups; replace mapcar with dolist which is a bit faster; pass groups
+ info to gnus-read-active-file-1.
+ (gnus-read-active-file-1): Scan only specified groups if the new
+ optional arg `infos' is given.
+
2010-09-09 Lars Magne Ingebrigtsen <larsi@gnus.org>
* mail-source.el (mail-source-fetch-pop): Use pop3-movemail again.
(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))))))
(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..."
(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))