]> git.eshelyaron.com Git - emacs.git/commitdiff
gnus-group.el (gnus-group-read-ephemeral-group): Don't add a new address parameter...
authorLars Ingebrigtsen <larsi@gnus.org>
Thu, 2 Feb 2012 11:07:55 +0000 (11:07 +0000)
committerKatsumi Yamaoka <yamaoka@jpl.org>
Thu, 2 Feb 2012 11:07:55 +0000 (11:07 +0000)
lisp/gnus/ChangeLog
lisp/gnus/gnus-group.el

index b53fccb649ce24116e25517b343fc990c4a93596..793540fd012d82ec74b374eac6e3366403d178b6 100644 (file)
@@ -1,5 +1,8 @@
 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 60522839a9a3fe61695f38e8009e20bcc219d7e8..f97d9a69eae25b60cd5163fcf1f48fcb2f5f981c 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))))