Function: gnus-method-to-server
gnus-method-to-server is a byte-compiled function defined in
gnus.el.gz.
Signature
(gnus-method-to-server METHOD &optional NOCACHE NO-ENTER-CACHE)
Source Code
;; Defined in /usr/src/emacs/lisp/gnus/gnus.el.gz
(defsubst gnus-method-to-server (method &optional nocache no-enter-cache)
(catch 'server-name
(setq method (or method gnus-select-method))
;; Perhaps it is already in the cache.
(unless nocache
(mapc (lambda (name-method)
(if (equal (cdr name-method) method)
(throw 'server-name (car name-method))))
gnus-server-method-cache))
(dolist (server-alist
(list gnus-server-alist
gnus-predefined-server-alist))
(mapc (lambda (name-method)
(when (gnus-methods-equal-p (cdr name-method) method)
(unless (member name-method gnus-server-method-cache)
(push name-method gnus-server-method-cache))
(throw 'server-name (car name-method))))
server-alist))
(let* ((name (if (member (cadr method) '(nil ""))
(format "%s" (car method))
(format "%s:%s" (car method) (cadr method))))
(name-method (cons name method)))
(unless (or no-enter-cache
(member name-method gnus-server-method-cache)
(assoc (car name-method) gnus-server-method-cache))
(push name-method gnus-server-method-cache))
name)))