From dc637e3d377f3d49f3c6270616a763742e79f167 Mon Sep 17 00:00:00 2001 From: Lars Ingebrigtsen Date: Thu, 2 Feb 2012 11:07:55 +0000 Subject: [PATCH] gnus-group.el (gnus-group-read-ephemeral-group): Don't add a new address parameter if one already exists (bug#9676). --- lisp/gnus/ChangeLog | 3 +++ lisp/gnus/gnus-group.el | 13 +++++++++---- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog index b53fccb649c..793540fd012 100644 --- a/lisp/gnus/ChangeLog +++ b/lisp/gnus/ChangeLog @@ -1,5 +1,8 @@ 2012-02-02 Lars Ingebrigtsen + * 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). diff --git a/lisp/gnus/gnus-group.el b/lisp/gnus/gnus-group.el index 60522839a9a..f97d9a69eae 100644 --- a/lisp/gnus/gnus-group.el +++ b/lisp/gnus/gnus-group.el @@ -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)))) -- 2.39.2