From 4d923b6bbc603c7f78050f357dc273681710105c Mon Sep 17 00:00:00 2001 From: Joseph Turner Date: Mon, 22 Apr 2024 00:23:19 -0700 Subject: [PATCH] mu4e-compose: fix when mu4e-sent-messages-behavior is functional This commits fixes a regression introduced in 85bfe763362b95935a3967f6585e14b3f9890a70 , at which point sent mails ended up in the "cur/" subdirectory of the root maildir when the mu4e-sent-messages-behavior user option was set to a function. --- mu4e/mu4e-compose.el | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/mu4e/mu4e-compose.el b/mu4e/mu4e-compose.el index 701ed93d..0767ea69 100644 --- a/mu4e/mu4e-compose.el +++ b/mu4e/mu4e-compose.el @@ -330,12 +330,18 @@ Returns the path for the sent message, either in the sent or trash folder, or nil if the message should be removed after sending." (when-let ((sent-dir - (pcase mu4e-sent-messages-behavior - ('delete nil) - ('trash (mu4e-get-trash-folder parent)) - ('sent (mu4e-get-sent-folder parent)) - ((pred functionp) (funcall mu4e-sent-messages-behavior)) - (_ (mu4e-error "Error in `mu4e-sent-messages-behavior'"))))) + ;; We can't call `functionp' since at least 'delete is a function. + (pcase mu4e-sent-messages-behavior + ('delete nil) + ('trash (mu4e-get-trash-folder parent)) + ('sent (mu4e-get-sent-folder parent)) + ((pred functionp) + (pcase (funcall mu4e-sent-messages-behavior) + ('delete nil) + ('trash (mu4e-get-trash-folder parent)) + ('sent (mu4e-get-sent-folder parent)) + (_ (mu4e-error "Error in `mu4e-sent-messages-behavior'")))) + (_ (mu4e-error "Error in `mu4e-sent-messages-behavior'"))))) (mu4e-join-paths (mu4e-root-maildir) sent-dir "cur" (format "%s%s2,S" base-name mu4e-maildir-info-delimiter))))