From 896f7dd3df05afc4c7f0e30cde3c2984610d8e32 Mon Sep 17 00:00:00 2001 From: TEC Date: Sat, 31 Jul 2021 01:32:57 +0800 Subject: [PATCH] Mu4e: Select reply account when multiple addrs set Modify +mu4e-set-from-address-h to account for messages with multiple to/from headers by finding the intersection between the headers and registered accounts. While I'm at it, there was a rather silly typo in the when-let line that's been corrected. --- modules/email/mu4e/autoload/email.el | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/modules/email/mu4e/autoload/email.el b/modules/email/mu4e/autoload/email.el index d3167d21f..72b867d45 100644 --- a/modules/email/mu4e/autoload/email.el +++ b/modules/email/mu4e/autoload/email.el @@ -334,16 +334,15 @@ When otherwise called, open a dired buffer and enable `dired-mu4e-attach-ctrl-c- within a context, set `user-mail-address' to an alias found in the 'To' or 'From' headers of the parent message if present, or prompt the user for a preferred alias" - (when-let ((addresses (if (or mu4e-contexts+mu4e-personal-addresses) + (when-let ((addresses (if (or mu4e-contexts +mu4e-personal-addresses) (and (> (length +mu4e-personal-addresses) 1) +mu4e-personal-addresses) (mu4e-personal-addresses)))) (setq user-mail-address (if mu4e-compose-parent-message - (let ((to (cdr (car (mu4e-message-field mu4e-compose-parent-message :to)))) - (from (cdr (car (mu4e-message-field mu4e-compose-parent-message :from))))) - (cond - ((member to addresses) to) - ((member from addresses) from) - (t (completing-read "From: " addresses)))) + (let ((to (mapcar #'cdr (mu4e-message-field mu4e-compose-parent-message :to))) + (from (mapcar #'cdr (mu4e-message-field mu4e-compose-parent-message :from)))) + (or (car (seq-intersection to addresses)) + (car (seq-intersection from addresses)) + (completing-read "From: " addresses))) (completing-read "From: " addresses)))))