diff lisp/gnus/gnus-srvr.el @ 104:cf808b4c4290 r20-1b4

Import from CVS: tag r20-1b4
author cvs
date Mon, 13 Aug 2007 09:16:51 +0200
parents 4be1180a9e89
children 360340f9fd5f
line wrap: on
line diff
--- a/lisp/gnus/gnus-srvr.el	Mon Aug 13 09:15:51 2007 +0200
+++ b/lisp/gnus/gnus-srvr.el	Mon Aug 13 09:16:51 2007 +0200
@@ -207,15 +207,16 @@
     (setq gnus-inserted-opened-servers nil)
     ;; First we do the real list of servers.
     (while alist
-      (push (caar alist) done)
-      (cdr (setq server (pop alist))) 
-      (when (and server (car server) (cdr server))
-	(gnus-server-insert-server-line (car server) (cdr server))))
+      (unless (member (cdar alist) done)
+	(push (cdar alist) done)
+	(cdr (setq server (pop alist))) 
+	(when (and server (car server) (cdr server))
+	  (gnus-server-insert-server-line (car server) (cdr server)))))
     ;; Then we insert the list of servers that have been opened in
     ;; this session.
     (while opened 
-      (unless (member (cadaar opened) done)
-	(push (cadaar opened) done)
+      (unless (member (caar opened) done)
+	(push (caar opened) done)
 	(gnus-server-insert-server-line 
 	 (setq op-ser (format "%s:%s" (caaar opened) (nth 1 (caar opened))))
 	 (caar opened))