From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.emacs.gnus.general/68219 Path: news.gmane.org!not-for-mail From: Daniel Dehennin Newsgroups: gmane.emacs.gnus.general Subject: [PATCH] Factor spliting mail addresses. Date: Wed, 28 Jan 2009 13:00:44 +0100 Message-ID: <87r62n3aj7.fsf@hati.baby-gnu.org> References: <87d4e7skx6.fsf@hati.baby-gnu.org> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Trace: ger.gmane.org 1233144076 10085 80.91.229.12 (28 Jan 2009 12:01:16 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 28 Jan 2009 12:01:16 +0000 (UTC) To: ding@gnus.org Original-X-From: ding-owner+M16660@lists.math.uh.edu Wed Jan 28 13:02:29 2009 Return-path: Envelope-to: ding-account@gmane.org Original-Received: from util0.math.uh.edu ([129.7.128.18]) by lo.gmane.org with esmtp (Exim 4.50) id 1LS97W-0008L7-Co for ding-account@gmane.org; Wed, 28 Jan 2009 13:02:14 +0100 Original-Received: from localhost ([127.0.0.1] helo=lists.math.uh.edu) by util0.math.uh.edu with smtp (Exim 4.63) (envelope-from ) id 1LS96D-00069m-2p; Wed, 28 Jan 2009 06:00:53 -0600 Original-Received: from mx1.math.uh.edu ([129.7.128.32]) by util0.math.uh.edu with esmtps (TLSv1:AES256-SHA:256) (Exim 4.63) (envelope-from ) id 1LS96B-00069Z-OV for ding@lists.math.uh.edu; Wed, 28 Jan 2009 06:00:51 -0600 Original-Received: from quimby.gnus.org ([80.91.231.51]) by mx1.math.uh.edu with esmtp (Exim 4.69) (envelope-from ) id 1LS968-0001hs-Tz for ding@lists.math.uh.edu; Wed, 28 Jan 2009 06:00:51 -0600 Original-Received: from zion.asgardr.info ([82.233.222.74]) by quimby.gnus.org with esmtp (Exim 3.36 #1 (Debian)) id 1LS96Q-0006c5-00 for ; Wed, 28 Jan 2009 13:01:07 +0100 Original-Received: from hati.asgardr.info ([192.168.1.2] helo=hati.baby-gnu.org) by zion.asgardr.info with esmtp (Exim 4.69) (envelope-from ) id 1LS964-0006BZ-P0 for ding@gnus.org; Wed, 28 Jan 2009 13:00:44 +0100 Original-Received: from dad by hati.baby-gnu.org with local (Exim 4.69) (envelope-from ) id 1LS964-000339-Oo for ding@gnus.org; Wed, 28 Jan 2009 13:00:44 +0100 Organisation: Dark Church of Emacs User-Agent: Gnus/5.110011 (No Gnus v0.11) Emacs/23.0.60 (gnu/linux) X-Spam-Score: -1.5 (-) List-ID: Precedence: bulk Xref: news.gmane.org gmane.emacs.gnus.general:68219 Archived-At: --=-=-= ------------------------------------------------------------ revno: 115 committer: Daniel Dehennin branch nick: gnus.mml2015 timestamp: Tue 2009-01-27 20:40:52 +0100 message: Factor spliting mail addresses. * lisp/mml2015.el (mml2015-epg-split-addresses): Split a string of addresses. (mml2015-epg-encrypt): Use it to set recipients. --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=Gnus115.patch # Bazaar merge directive format 2 (Bazaar 0.90) # revision_id: daniel.dehennin@baby-gnu.org-20090127194052-\ # mnh8eg1sy9eldodg # target_branch: ../../gnus.head # testament_sha1: 09eb182f0e81f7faa1ebaa723bb27514223cb1a9 # timestamp: 2009-01-28 13:00:28 +0100 # source_branch: . # base_revision_id: daniel.dehennin@baby-gnu.org-20090126152327-\ # ccpvwbbxys1zto9f # # Begin patch === modified file 'lisp/mml2015.el' --- lisp/mml2015.el 2009-01-22 07:02:15 +0000 +++ lisp/mml2015.el 2009-01-27 19:40:52 +0000 @@ -1025,6 +1025,18 @@ (setq pointer (cdr pointer)))) (setq keys (cdr keys))))) +(defun mml2015-epg-split-addresses (config addresses) + "Split a string of addresses delimited by [ \f\t\n\r\v,]+." + (apply #'nconc + (mapcar + (lambda (recipient) + (or (epg-expand-group config recipient) + (list (concat "<" recipient ">")))) + (split-string + (or addresses + (read-string "Addresses: ")) + "[ \f\t\n\r\v,]+")))) + (defun mml2015-epg-decrypt (handle ctl) (catch 'error (let ((inhibit-redisplay t) @@ -1182,6 +1194,7 @@ (let* ((inhibit-redisplay t) (context (epg-make-context)) (boundary (mml-compute-boundary cont)) + (sender (message-options-get 'message-sender)) signer-key (signers (or (message-options-get 'mml2015-epg-signers) @@ -1191,8 +1204,8 @@ (epa-select-keys context "\ Select keys for signing. If no one is selected, default secret key is used. " - mml2015-signers t) - (if mml2015-signers + sender t) + (if sender (delq nil (mapcar (lambda (signer) @@ -1206,7 +1219,7 @@ signer))) (error "No secret key for %s" signer)) signer-key) - mml2015-signers))))))) + (list sender)))))))) signature micalg) (epg-context-set-armor context t) (epg-context-set-textmode context t) @@ -1249,26 +1262,20 @@ (let ((inhibit-redisplay t) (context (epg-make-context)) (config (epg-configuration)) + (sender (message-options-get 'message-sender)) (recipients (message-options-get 'mml2015-epg-recipients)) cipher signers (boundary (mml-compute-boundary cont)) recipient-key signer-key) (unless recipients (setq recipients - (apply #'nconc - (mapcar - (lambda (recipient) - (or (epg-expand-group config recipient) - (list (concat "<" recipient ">")))) - (split-string - (or (message-options-get 'message-recipients) - (message-options-set 'message-recipients - (read-string "Recipients: "))) - "[ \f\t\n\r\v,]+")))) + (mml2015-epg-split-addresses + config + (message-options-get 'message-recipients))) (when mml2015-encrypt-to-self - (unless mml2015-signers - (error "mml2015-signers not set")) - (setq recipients (nconc recipients mml2015-signers))) + (unless sender + (error "Message sender not set")) + (setq recipients (nconc recipients (list sender)))) (if mml2015-verbose (setq recipients (epa-select-keys context "\ @@ -1301,8 +1308,8 @@ (epa-select-keys context "\ Select keys for signing. If no one is selected, default secret key is used. " - mml2015-signers t) - (if mml2015-signers + sender t) + (if sender (delq nil (mapcar (lambda (signer) @@ -1316,7 +1323,7 @@ signer))) (error "No secret key for %s" signer)) signer-key) - mml2015-signers))))))) + (list sender)))))))) (epg-context-set-signers context signers)) (epg-context-set-armor context t) (epg-context-set-textmode context t) --=-=-=--