From: Daiki Ueno Date: Wed, 21 Jul 2010 05:56:18 +0000 (+0900) Subject: Fix multiple-recipient handling of Gnus S/MIME. X-Git-Tag: emacs-pretest-24.0.90~104^2~275^2~438^2~51^2~10 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=a0abd4d6329f67b698180834e75335fe7eca52c4;p=emacs.git Fix multiple-recipient handling of Gnus S/MIME. * mml.el (mml-parse-1): Collect "certfile" attributes in "<#secure>" tag (Bug#6654). --- diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog index 4abcd9824e2..2a2011e8843 100644 --- a/lisp/gnus/ChangeLog +++ b/lisp/gnus/ChangeLog @@ -1,3 +1,8 @@ +2010-07-21 Daiki Ueno + + * mml.el (mml-parse-1): Collect "certfile" attributes in "<#secure>" + tag (Bug#6654). + 2010-07-20 Katsumi Yamaoka * gnus-sum.el (gnus-summary-bookmark-make-record): Bookmark position in diff --git a/lisp/gnus/mml.el b/lisp/gnus/mml.el index 170bc69fe3a..2ebd7996d77 100644 --- a/lisp/gnus/mml.el +++ b/lisp/gnus/mml.el @@ -228,7 +228,10 @@ part. This is for the internal use, you should never modify the value.") (let* (secure-mode (taginfo (mml-read-tag)) (keyfile (cdr (assq 'keyfile taginfo))) - (certfile (cdr (assq 'certfile taginfo))) + (certfiles (delq nil (mapcar (lambda (tag) + (if (eq (car-safe tag) 'certfile) + (cdr tag))) + taginfo))) (recipients (cdr (assq 'recipients taginfo))) (sender (cdr (assq 'sender taginfo))) (location (cdr (assq 'tag-location taginfo))) @@ -254,8 +257,10 @@ part. This is for the internal use, you should never modify the value.") ,@tags ,(if keyfile "keyfile") ,keyfile - ,(if certfile "certfile") - ,certfile + ,@(apply #'append + (mapcar (lambda (certfile) + (list "certfile" certfile)) + certfiles)) ,(if recipients "recipients") ,recipients ,(if sender "sender")