Try harder not to display ephemeral servers in the server buffer
authorLars Ingebrigtsen <larsi@rusty.(none)>
Thu, 26 Jan 2012 17:40:38 +0000 (18:40 +0100)
committerLars Ingebrigtsen <larsi@rusty.(none)>
Thu, 26 Jan 2012 17:40:38 +0000 (18:40 +0100)
* gnus.el (gnus-method-ephemeral-p): New function.

* gnus-srvr.el (gnus-server-prepare): Use it to avoid showing ephemeral
methods (bug#9676).

lisp/ChangeLog
lisp/gnus-srvr.el
lisp/gnus.el

index f8b5fc0..88b5e0d 100644 (file)
@@ -1,3 +1,10 @@
+2012-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
+
+       * gnus-srvr.el (gnus-server-prepare): Use it to avoid showing ephemeral
+       methods (bug#9676).
+
+       * gnus.el (gnus-method-ephemeral-p): New function.
+
 2012-01-26  Katsumi Yamaoka  <yamaoka@jpl.org>
 
        * gnus-sum.el (gnus-summary-mode): Force paragraph direction to be
index 34a16a2..66509c9 100644 (file)
@@ -330,7 +330,7 @@ The following commands are available:
     (dolist (open gnus-opened-servers)
       (when (and (not (member (car open) done))
                 ;; Just ignore ephemeral servers.
-                (not (member (car open) gnus-ephemeral-servers)))
+                (not (gnus-method-ephemeral-p (car open))))
        (push (car open) done)
        (gnus-server-insert-server-line
         (setq op-ser (format "%s:%s" (caar open) (nth 1 (car open))))
index c858c58..d4e4ef2 100644 (file)
@@ -3580,6 +3580,13 @@ that that variable is buffer-local to the summary buffers."
                                            gnus-valid-select-methods)))
                 (equal (nth 1 m1) (nth 1 m2)))))))
 
+(defun gnus-method-ephemeral-p (method)
+  (let ((equal nil))
+    (dolist (ephemeral gnus-ephemeral-servers)
+      (when (gnus-sloppily-equal-method-parameters method ephemeral)
+       (setq equal t)))
+    equal))
+
 (defsubst gnus-sloppily-equal-method-parameters (m1 m2)
   ;; Check parameters for sloppy equality.
   (let ((p1 (copy-sequence (cddr m1)))