2010-09-19 Lars Magne Ingebrigtsen <larsi@gnus.org>
+ * gnus.el (gnus-similar-server-opened): Refactor a bit and add
+ comments.
+
* gnus-start.el (gnus-get-unread-articles): Make sure that we call
`gnus-open-server' on each method before trying to scan them etc. This
ensures that all the backend parameters are set correctly.
gnus-valid-select-methods)))
(defun gnus-similar-server-opened (method)
- (let ((opened gnus-opened-servers))
+ "Return non-nil if we have a similar server opened.
+This is defined as a server with the same name, but different
+parameters."
+ (let ((opened gnus-opened-servers)
+ open)
(while (and method opened)
- (when (and (equal (cadr method) (cadaar opened))
- (equal (car method) (caaar opened))
- (not (equal method (caar opened))))
- (setq method nil))
- (pop opened))
+ (setq open (car (pop opened)))
+ ;; Type and name are the same...
+ (when (and (equal (car method) (car open))
+ (equal (cadr method) (cadr open))
+ ;; ... but the rest of the parameters differ.
+ (not (equal method open)))
+ (setq method nil)))
(not method)))
(defun gnus-server-extend-method (group method)