mu4e-compose: fix when mu4e-sent-messages-behavior is functional

This commits fixes a regression introduced in
85bfe76336 , 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.
This commit is contained in:
Joseph Turner 2024-04-22 00:23:19 -07:00
parent 0f0d2189d4
commit 4d923b6bbc
1 changed files with 12 additions and 6 deletions

View File

@ -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 trash folder, or nil if the message should be removed after
sending." sending."
(when-let ((sent-dir (when-let ((sent-dir
(pcase mu4e-sent-messages-behavior ;; We can't call `functionp' since at least 'delete is a function.
('delete nil) (pcase mu4e-sent-messages-behavior
('trash (mu4e-get-trash-folder parent)) ('delete nil)
('sent (mu4e-get-sent-folder parent)) ('trash (mu4e-get-trash-folder parent))
((pred functionp) (funcall mu4e-sent-messages-behavior)) ('sent (mu4e-get-sent-folder parent))
(_ (mu4e-error "Error in `mu4e-sent-messages-behavior'"))))) ((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-join-paths
(mu4e-root-maildir) sent-dir "cur" (mu4e-root-maildir) sent-dir "cur"
(format "%s%s2,S" base-name mu4e-maildir-info-delimiter)))) (format "%s%s2,S" base-name mu4e-maildir-info-delimiter))))