Function: gnus-read-active-file

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

Signature

(gnus-read-active-file &optional FORCE NOT-NATIVE)

Source Code

;; Defined in /usr/src/emacs/lisp/gnus/gnus-start.el.gz
;; Get the active file(s) from the backend(s).
(defun gnus-read-active-file (&optional force not-native)
  (gnus-group-set-mode-line)
  (let ((methods
	 (mapcar
	  (lambda (m) (if (stringp m) (gnus-server-get-method nil m) m))
	  (append
	   (if (and (not not-native)
		    (gnus-check-server gnus-select-method))
	       ;; The native server is available.
	       (cons gnus-select-method gnus-secondary-select-methods)
	     ;; The native server is down, so we just do the
	     ;; secondary ones.
	     gnus-secondary-select-methods)
	   ;; Also read from the archive server.
	   (when (gnus-archive-server-wanted-p)
	     (list "archive")))))
	method)
    (setq gnus-have-read-active-file nil)
    (with-current-buffer nntp-server-buffer
      (while (setq method (pop methods))
	;; Only do each method once, in case the methods appear more
	;; than once in this list.
	(when (and (not (member method methods))
		   ;; Check whether the backend exists.
		   (ignore-errors (gnus-get-function method 'open-server)))
	  (if (or debug-on-error debug-on-quit)
	      (gnus-read-active-file-1 method force)
	    (condition-case ()
		(gnus-read-active-file-1 method force)
	      ;; We catch C-g so that we can continue past servers
	      ;; that do not respond.
	      (quit
	       (if debug-on-quit
		   (debug "Quit")
		 (message "Quit reading the active file"))
	       nil))))))))