Merge remote-tracking branch 'origin/no-gnus'
authorLars Ingebrigtsen <larsi@gnus.org>
Thu, 2 Feb 2012 10:51:39 +0000 (11:51 +0100)
committerLars Ingebrigtsen <larsi@gnus.org>
Thu, 2 Feb 2012 10:51:39 +0000 (11:51 +0100)
lisp/ChangeLog
lisp/gnus-group.el

index 49eea02..80ec54f 100644 (file)
@@ -84,6 +84,9 @@
 
 2012-02-02  Lars Ingebrigtsen  <larsi@gnus.org>
 
+       * gnus-group.el (gnus-group-read-ephemeral-group): Don't add a new
+       address parameter if one already exists (bug#9676).
+
        * gnus-msg.el (gnus-summary-mail-forward): Respect the process marks,
        not the prefix, as documented (bug#10689).
 
index 16fe90c..f75ef37 100644 (file)
@@ -2295,10 +2295,15 @@ Return the name of the group if selection was successful."
     (gnus-no-server))
   (when (stringp method)
     (setq method (gnus-server-to-method method)))
-  (setq method
-       `(,(car method) ,(concat (cadr method) "-ephemeral")
-         (,(intern (format "%s-address" (car method))) ,(cadr method))
-         ,@(cddr method)))
+  (let ((address-slot
+        (intern (format "%s-address" (car method)))))
+    (setq method
+         (if (assq address-slot (cddr method))
+             `(,(car method) ,(concat (cadr method) "-ephemeral")
+               ,@(cddr method))
+           `(,(car method) ,(concat (cadr method) "-ephemeral")
+             (,address-slot ,(cadr method))
+             ,@(cddr method)))))
   (let ((group (if (gnus-group-foreign-p group) group
                 (gnus-group-prefixed-name (gnus-group-real-name group)
                                           method))))