* message.el (message-setup-1): Don't bind the constant -forbidden-properties.
[gnus] / lisp / gnus-start.el
index b66c28b..b8a6be8 100644 (file)
@@ -1705,6 +1705,15 @@ If SCAN, request a scan of that group as well."
              (setcar (nthcdr 3 elem)
                      (gnus-retrieve-group-data-early method infos)))))))
 
+    ;; If we have primary/secondary select methods, but no groups from
+    ;; them, we still want to issue a retrieval request from them.
+    (dolist (method (cons gnus-select-method
+                         gnus-secondary-select-methods))
+      (when (and (not (assoc method type-cache))
+                (gnus-check-backend-function 'request-list (car method)))
+       (with-current-buffer nntp-server-buffer
+         (gnus-read-active-file-1 method nil))))
+
     ;; Do the rest of the retrieval.
     (dolist (elem type-cache)
       (destructuring-bind (method method-type infos early-data) elem
@@ -1747,14 +1756,12 @@ If SCAN, request a scan of that group as well."
      ;; 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))
      ;; Most backends have -retrieve-groups.
-     ((and (gnus-check-backend-function 'retrieve-groups (car method))
-          infos)
+     ((gnus-check-backend-function 'retrieve-groups (car method))
       (when (gnus-check-backend-function 'request-scan (car method))
        (gnus-request-scan nil method))
       (let (groups)
@@ -1762,10 +1769,10 @@ 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.
+     ;; Virtually all backends have -request-list.
      ((gnus-check-backend-function 'request-list (car method))
-      (gnus-read-active-file-1 method nil infos))
-     ;; Unless nnvirtual and friends, where we request each group, one
+      (gnus-read-active-file-1 method nil))
+     ;; Except nnvirtual and friends, where we request each group, one
      ;; by one.
      (t
       (dolist (info infos)
@@ -1995,7 +2002,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..."