aboutsummaryrefslogtreecommitdiff
path: root/piem.el
diff options
context:
space:
mode:
authorKyle Meyer <kyle@kyleam.com>2020-11-22 15:46:09 -0500
committerKyle Meyer <kyle@kyleam.com>2020-11-22 19:51:16 -0500
commit5c6f90081fad69a8430e81e7d9e04212f7f3e009 (patch)
tree1c47f0fcbb5386bd701248257d17f38dc2540e12 /piem.el
parent27495eeb67515f8dac0e7449aa2165272e8ebe5a (diff)
downloadpiem-5c6f90081fad69a8430e81e7d9e04212f7f3e009.tar.gz
gnus, notmuch: Consider text/plain patch attachments
When inspecting attachments for generating an am-ready mbox, both -notmuch and -gnus limit the operation to attachments with text/x-diff or text/x-patch content types. That has worked okay for me, though I've run into a few cases where I couldn't apply a patch attachment because it had a text/plain content type. To do something useful in this case, check the file name to see whether it looks like a patch. Message-Id: <20201122204609.12604-5-kyle@kyleam.com>
Diffstat (limited to 'piem.el')
-rw-r--r--piem.el10
1 files changed, 7 insertions, 3 deletions
diff --git a/piem.el b/piem.el
index 9cc6a88..cf43503 100644
--- a/piem.el
+++ b/piem.el
@@ -561,10 +561,14 @@ This function depends on :url being configured for entries in
;;;; Patch handling
-(defun piem-am-patch-attachment-p (type)
+(defun piem-am-patch-attachment-p (type filename)
"Return non-nil if an attachment should be treated as a patch.
-TYPE is a media type such as \"text/x-patch\"."
- (member type '("text/x-diff" "text/x-patch")))
+TYPE is a media type such as \"text/x-patch\". FILENAME is the
+attachment file name, if any."
+ (or (member type '("text/x-diff" "text/x-patch"))
+ (and filename
+ (equal type "text/plain")
+ (string-match-p "\\.patch\\'" filename))))
(defun piem-extract-mbox-info (&optional buffer)
"Collect information from message in BUFFER.