diff --git a/mu4e/mu4e-compose.el b/mu4e/mu4e-compose.el index 0767ea69..0ed93abc 100644 --- a/mu4e/mu4e-compose.el +++ b/mu4e/mu4e-compose.el @@ -329,18 +329,18 @@ base filename without any Maildir decoration. 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 + (when-let ((sent-behavior ;; We can't call `functionp' since at least 'delete is a function. (pcase mu4e-sent-messages-behavior + ((or 'delete 'trash 'sent) mu4e-sent-messages-behavior) + ((pred functionp mu4e-sent-messages-behavior) + (funcall mu4e-sent-messages-behavior)) + (_ mu4e-sent-messages-behavior))) + (sent-dir + (pcase sent-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"