Merge pull request #2698 from josephmturner/fix-mu4e--fcc-path

Fix: Put sent mail in correct location when `mu4e-sent-messages-behavior` is a function
This commit is contained in:
Dirk-Jan C. Binnema 2024-04-25 09:19:32 +03:00 committed by GitHub
commit bbd949e9e7
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 13 additions and 7 deletions

View File

@ -329,13 +329,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
('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'")))))
(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))
(_ (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))))