diff --git a/mu4e/mu4e-draft.el b/mu4e/mu4e-draft.el index 2dcb1f0b..c8200bd4 100644 --- a/mu4e/mu4e-draft.el +++ b/mu4e/mu4e-draft.el @@ -249,17 +249,19 @@ 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 - (pcase mu4e-sent-messages-behavior + (let* ((behavior + (if (functionp mu4e-sent-messages-behavior) + (funcall mu4e-sent-messages-behavior) mu4e-sent-messages-behavior)) + (sent-dir + (pcase 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'"))))) - (mu4e-join-paths - (mu4e-root-maildir) sent-dir "cur" - (format "%s%s2,S" base-name mu4e-maildir-info-delimiter)))) - + (when sent-dir + (mu4e-join-paths + (mu4e-root-maildir) sent-dir "cur" + (format "%s%s2,S" base-name mu4e-maildir-info-delimiter))))) (defconst mu4e--header-separator