From: Daiki Ueno Date: Fri, 28 Jan 2011 01:34:09 +0000 (+0000) Subject: mml2015.el (mml2015-epg-sign, mml2015-epg-encrypt): Give mml2015-signers higher prece... X-Git-Tag: emacs-pretest-24.0.90~104^2~618^2~1322^2~104 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=bb760c5da820ddf0fa0efe5e55b555ff8389675d;p=emacs.git mml2015.el (mml2015-epg-sign, mml2015-epg-encrypt): Give mml2015-signers higher precedence over mml2015-sign-with-sender. --- diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog index 60c784b4119..66373f5bbbc 100644 --- a/lisp/gnus/ChangeLog +++ b/lisp/gnus/ChangeLog @@ -1,3 +1,8 @@ +2011-01-28 Daiki Ueno + + * mml2015.el (mml2015-epg-sign, mml2015-epg-encrypt): Give + mml2015-signers higher precedence over mml2015-sign-with-sender. + 2011-01-27 Lars Ingebrigtsen * gnus-group.el (gnus-group-refresh-group): Refresh even non-visible diff --git a/lisp/gnus/mml2015.el b/lisp/gnus/mml2015.el index 735f3b649e1..1271168fffc 100644 --- a/lisp/gnus/mml2015.el +++ b/lisp/gnus/mml2015.el @@ -116,7 +116,8 @@ Whether the passphrase is cached at all is controlled by :type 'integer) (defcustom mml2015-signers nil - "A list of your own key ID which will be used to sign a message." + "A list of your own key ID which will be used to sign a message. +If set, it overrides the setting of `mml2015-sign-with-sender'." :group 'mime-security :type '(repeat (string :tag "Key ID"))) @@ -965,8 +966,10 @@ Whether the passphrase is cached at all is controlled by (let* ((inhibit-redisplay t) (context (epg-make-context)) (boundary (mml-compute-boundary cont)) - (sender (when mml2015-sign-with-sender - (message-options-get 'message-sender))) + (sender (message-options-get 'message-sender)) + (signer-names (or mml2015-signers + (if (and mml2015-sign-with-sender sender) + (list (concat "<" sender ">"))))) signer-key (signers (or (message-options-get 'mml2015-epg-signers) @@ -976,10 +979,7 @@ Whether the passphrase is cached at all is controlled by (epa-select-keys context "\ Select keys for signing. If no one is selected, default secret key is used. " - (if sender - (cons (concat "<" sender ">") - mml2015-signers) - mml2015-signers) + signer-names t) (if (or sender mml2015-signers) (delq nil @@ -995,10 +995,7 @@ If no one is selected, default secret key is used. " signer))) (error "No secret key for %s" signer)) signer-key) - (if sender - (cons (concat "<" sender ">") - mml2015-signers) - mml2015-signers)))))))) + signer-names))))))) signature micalg) (epg-context-set-armor context t) (epg-context-set-textmode context t) @@ -1038,15 +1035,18 @@ If no one is selected, default secret key is used. " (goto-char (point-max)))) (defun mml2015-epg-encrypt (cont &optional sign) - (let ((inhibit-redisplay t) - (context (epg-make-context)) - (config (epg-configuration)) - (sender (when mml2015-sign-with-sender - (message-options-get 'message-sender))) - (recipients (message-options-get 'mml2015-epg-recipients)) - cipher signers - (boundary (mml-compute-boundary cont)) - recipient-key signer-key) + (let* ((inhibit-redisplay t) + (context (epg-make-context)) + (boundary (mml-compute-boundary cont)) + (config (epg-configuration)) + (recipients (message-options-get 'mml2015-epg-recipients)) + cipher + (sender (message-options-get 'message-sender)) + (signer-names (or mml2015-signers + (if (and mml2015-sign-with-sender sender) + (list (concat "<" sender ">"))))) + signers + recipient-key signer-key) (unless recipients (setq recipients (apply #'nconc @@ -1060,12 +1060,9 @@ If no one is selected, default secret key is used. " (read-string "Recipients: "))) "[ \f\t\n\r\v,]+")))) (when mml2015-encrypt-to-self - (unless (or sender mml2015-signers) - (error "Message sender and mml2015-signers not set")) - (setq recipients (nconc recipients (if sender - (cons (concat "<" sender ">") - mml2015-signers) - mml2015-signers)))) + (unless signer-names + (error "Neither message sender nor mml2015-signers are set")) + (setq recipients (nconc recipients signer-names))) (if (eq mm-encrypt-option 'guided) (setq recipients (epa-select-keys context "\ @@ -1098,10 +1095,7 @@ If no one is selected, symmetric encryption will be performed. " (epa-select-keys context "\ Select keys for signing. If no one is selected, default secret key is used. " - (if sender - (cons (concat "<" sender ">") - mml2015-signers) - mml2015-signers) + signer-names t) (if (or sender mml2015-signers) (delq nil @@ -1117,9 +1111,7 @@ If no one is selected, default secret key is used. " signer))) (error "No secret key for %s" signer)) signer-key) - (if sender - (cons (concat "<" sender ">") mml2015-signers) - mml2015-signers)))))))) + signer-names))))))) (epg-context-set-signers context signers)) (epg-context-set-armor context t) (epg-context-set-textmode context t)