On Mon, May 12 2014, Mark Walters wrote: > On Mon, 12 May 2014, David Edmondson <dme@dme.org> wrote: >> 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 10fc872..ec99141 100644 >> --- a/emacs/notmuch-show.el >> +++ b/emacs/notmuch-show.el >> @@ -871,6 +871,21 @@ message at DEPTH in the current thread." >> ;; 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) >> + "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))))) > > My only query here is whether a notmuch-show-hide-header-p (part) might > make some of the logic clearer? You're suggesting to simply invert the sense of the function? > > MW > > >> + >> (defun notmuch-show-insert-bodypart (msg part depth &optional hide) >> "Insert the body part PART at depth DEPTH in the current thread. >> >> @@ -881,19 +896,15 @@ is t, hide the part initially and show the button. If HIDE is >> 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)) >> (beg (point)) >> ;; Hide the part initially if HIDE is t. >> (show-part (not (equal hide t))) >> ;; 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)) >> (notmuch-show-insert-part-header nth mime-type content-type (plist-get part :filename)))) >> (content-beg (point))) >> >> -- >> 2.0.0.rc0 >> >> _______________________________________________ >> notmuch mailing list >> notmuch@notmuchmail.org >> http://notmuchmail.org/mailman/listinfo/notmuch