Function: nnvirtual-open-server

nnvirtual-open-server is a byte-compiled function defined in nnvirtual.el.gz.

Signature

(nnvirtual-open-server SERVER &optional DEFS)

Source Code

;; Defined in /usr/src/emacs/lisp/gnus/nnvirtual.el.gz
(deffoo nnvirtual-open-server (server &optional defs)
  (unless (assq 'nnvirtual-component-regexp defs)
    (push `(nnvirtual-component-regexp ,server)
	  defs))
  (nnoo-change-server 'nnvirtual server defs)
  (if nnvirtual-component-groups
      t
    (setq nnvirtual-mapping-table nil
	  nnvirtual-mapping-offsets nil
	  nnvirtual-mapping-len 0
	  nnvirtual-mapping-reads nil
	  nnvirtual-mapping-marks nil
	  nnvirtual-info-installed nil)
    (when nnvirtual-component-regexp
      ;; Go through the list of groups and find all component groups.
      (dolist (group (cdr gnus-group-list))
	(when (string-match nnvirtual-component-regexp group) ; Match
	  ;; Add this group to the list of component groups.
	  (setq nnvirtual-component-groups
		(cons group (delete group nnvirtual-component-groups))))))
    (if (not nnvirtual-component-groups)
	(nnheader-report 'nnvirtual "No component groups: %s" server)
      t)))