[PATCH v4 1/7] emacs/show: Re-arrange determination if a part header is necessary
Mark Walters
markwalters1009 at gmail.com
Sat Nov 7 03:04:30 PST 2015
From: David Edmondson <dme at dme.org>
Move the determination of whether a part header is required to a
distinct function.
---
emacs/notmuch-show.el | 25 ++++++++++++++++++-------
1 file changed, 18 insertions(+), 7 deletions(-)
diff --git a/emacs/notmuch-show.el b/emacs/notmuch-show.el
index 49fd198..47a02e5 100644
--- a/emacs/notmuch-show.el
+++ b/emacs/notmuch-show.el
@@ -929,6 +929,21 @@ (defun notmuch-show-lazy-part (part-args button)
;; showable this returns nil.
(notmuch-show-create-part-overlays button part-beg part-end))))
+(defun notmuch-show-mime-type (part)
+ "Return the correct mime-type to use for PART."
+ (let ((content-type (downcase (plist-get part :content-type))))
+ (or (and (string= content-type "application/octet-stream")
+ (notmuch-show-get-mime-type-of-application/octet-stream part))
+ (and (string= content-type "inline patch")
+ "text/x-diff")
+ content-type)))
+
+(defun notmuch-show-insert-header-p (part hide)
+ "Return non-NIL if a header button should be inserted for this part."
+ (let ((mime-type (notmuch-show-mime-type part)))
+ (not (and (string= mime-type "text/plain")
+ (<= (plist-get part :id) 1)))))
+
(defun notmuch-show-insert-bodypart (msg part depth &optional hide)
"Insert the body part PART at depth DEPTH in the current thread.
@@ -939,11 +954,7 @@ (defun notmuch-show-insert-bodypart (msg part depth &optional hide)
useful for quoting in replies)."
(let* ((content-type (downcase (plist-get part :content-type)))
- (mime-type (or (and (string= content-type "application/octet-stream")
- (notmuch-show-get-mime-type-of-application/octet-stream part))
- (and (string= content-type "inline patch")
- "text/x-diff")
- content-type))
+ (mime-type (notmuch-show-mime-type part))
(nth (plist-get part :id))
(long (and (notmuch-match-content-type mime-type "text/*")
(> notmuch-show-max-text-part-size 0)
@@ -951,8 +962,8 @@ (defun notmuch-show-insert-bodypart (msg part depth &optional hide)
(beg (point))
;; We omit the part button for the first (or only) part if
;; this is text/plain, or HIDE is 'no-buttons.
- (button (unless (or (equal hide 'no-buttons)
- (and (string= mime-type "text/plain") (<= nth 1)))
+ (button (when (and (not (equal hide 'no-buttons))
+ (notmuch-show-insert-header-p part hide))
(notmuch-show-insert-part-header nth mime-type content-type (plist-get part :filename))))
;; Hide the part initially if HIDE is t, or if it is too long
;; and we have a button to allow toggling (thus reply which
--
2.1.4
More information about the notmuch
mailing list