Function: gnus-read-active-for-groups

gnus-read-active-for-groups is a byte-compiled function defined in gnus-start.el.gz.

Signature

(gnus-read-active-for-groups METHOD INFOS EARLY-DATA)

Source Code

;; Defined in /usr/src/emacs/lisp/gnus/gnus-start.el.gz
(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
       early-data
       (gnus-check-backend-function 'finish-retrieve-group-infos (car method))
       (or (not (gnus-agent-method-p method))
	   (gnus-online method)))
      (gnus-finish-retrieve-group-infos method infos early-data)
      ;; We may have altered the data now, so mark the dribble buffer
      ;; as dirty so that it gets saved.
      (gnus-dribble-touch)
      (gnus-agent-save-active method))
     ;; Most backends have -retrieve-groups.
     ((gnus-check-backend-function 'retrieve-groups (car method))
      (when (gnus-check-backend-function 'request-scan (car method))
	(gnus-request-scan nil method))
      (let (groups)
	(gnus-read-active-file-2
	 (dolist (info infos (nreverse groups))
	   (push (gnus-group-real-name (gnus-info-group info)) groups))
	 method)))
     ;; Virtually all backends have -request-list.
     ((gnus-check-backend-function 'request-list (car method))
      (gnus-read-active-file-1 method nil))
     ;; Except nnvirtual and friends, where we request each group, one
     ;; by one.
     (t
      (dolist (info infos)
	(gnus-activate-group (gnus-info-group info) t nil method t))))))