aboutsummaryrefslogtreecommitdiff
path: root/modules/mu4e-attachments.el
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-05-12 00:35:20 -0500
committerCraig Jennings <c@cjennings.net>2026-05-12 00:35:20 -0500
commit6c1cb14c50eb727d9b7ed1acb3b537c9dcb5864c (patch)
treee77ac163b481699aa54736dbc824b22dfbb45171 /modules/mu4e-attachments.el
parenteadd9bfbbbe243216cbcea3911825f263d226975 (diff)
downloaddotemacs-6c1cb14c50eb727d9b7ed1acb3b537c9dcb5864c.tar.gz
dotemacs-6c1cb14c50eb727d9b7ed1acb3b537c9dcb5864c.zip
refactor(mail): fail fast on an attachment part with no MIME handle
`cj/mu4e--save-attachment-part' called `cj/mu4e--ensure-attachment-save-functions' first, so a part with no MIME handle triggered the `mu4e-mime-parts' load before the handle check could fail. The handle check now runs first, so the malformed input is caught right away and the user-error fires the same way whether or not mu4e's MIME support is loadable. The test for that case drops the mu4e stubs it only needed because the load used to come first.
Diffstat (limited to 'modules/mu4e-attachments.el')
-rw-r--r--modules/mu4e-attachments.el2
1 files changed, 1 insertions, 1 deletions
diff --git a/modules/mu4e-attachments.el b/modules/mu4e-attachments.el
index 87392681e..8f7110001 100644
--- a/modules/mu4e-attachments.el
+++ b/modules/mu4e-attachments.el
@@ -87,11 +87,11 @@ The result is an alist of display labels to MIME part plists."
(defun cj/mu4e--save-attachment-part (part directory)
"Save attachment PART to DIRECTORY and return the final path."
- (cj/mu4e--ensure-attachment-save-functions)
(let ((handle (plist-get part :handle)))
(unless handle
(user-error "Attachment has no MIME handle: %s"
(or (plist-get part :filename) "<unnamed>")))
+ (cj/mu4e--ensure-attachment-save-functions)
(let* ((path (funcall mu4e-uniquify-save-file-name-function
(mu4e-join-paths directory
(plist-get part :filename)))))