(gnus-read-active-file-1): Remove dead parameter infos.
[gnus] / lisp / gnus-start.el
index 12c4b4a..0546226 100644 (file)
@@ -1,7 +1,6 @@
 ;;; gnus-start.el --- startup functions for Gnus
 
-;; Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-;;   2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
+;; Copyright (C) 1996-2011 Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
 ;; Keywords: news
@@ -1701,6 +1700,8 @@ If SCAN, request a scan of that group as well."
                    'retrieve-group-data-early (car method)))
              (when (gnus-check-backend-function 'request-scan (car method))
                (gnus-request-scan nil method))
+             ;; Store the token we get back from -early so that we
+             ;; can pass it to -finish later.
              (setcar (nthcdr 3 elem)
                      (gnus-retrieve-group-data-early method infos)))))))
 
@@ -1742,13 +1743,18 @@ If SCAN, request a scan of that group as well."
 (defun gnus-read-active-for-groups (method infos early-data)
   (with-current-buffer nntp-server-buffer
     (cond
+     ;; Finish up getting the data from the methods that have -early
+     ;; methods.
      ((and
        (gnus-check-backend-function 'finish-retrieve-group-infos (car method))
+       infos
        (or (not (gnus-agent-method-p method))
           (gnus-online method)))
       (gnus-finish-retrieve-group-infos method infos early-data)
       (gnus-agent-save-active method))
-     ((gnus-check-backend-function 'retrieve-groups (car method))
+     ;; Most backends have -retrieve-groups.
+     ((and (gnus-check-backend-function 'retrieve-groups (car method))
+          infos)
       (when (gnus-check-backend-function 'request-scan (car method))
        (gnus-request-scan nil method))
       (let (groups)
@@ -1756,8 +1762,11 @@ If SCAN, request a scan of that group as well."
         (dolist (info infos (nreverse groups))
           (push (gnus-group-real-name (gnus-info-group info)) groups))
         method)))
+     ;; All backends have -request-list.
      ((gnus-check-backend-function 'request-list (car method))
-      (gnus-read-active-file-1 method nil infos))
+      (gnus-read-active-file-1 method nil))
+     ;; Unless nnvirtual and friends, where we request each group, one
+     ;; by one.
      (t
       (dolist (info infos)
        (gnus-activate-group (gnus-info-group info) nil nil method t))))))
@@ -1986,7 +1995,7 @@ If SCAN, request a scan of that group as well."
               (message "Quit reading the active file")
               nil))))))))
 
-(defun gnus-read-active-file-1 (method force &optional infos)
+(defun gnus-read-active-file-1 (method force)
   (let (where mesg)
     (setq where (nth 1 method)
          mesg (format "Reading active file%s via %s..."