[PATCH v3 1/9] emacs/show: Re-arrange determination if a part header is necessary
Mark Walters
markwalters1009 at gmail.com
Mon May 12 15:09:32 PDT 2014
On Mon, 12 May 2014, David Edmondson <dme at 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?
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 at notmuchmail.org
> http://notmuchmail.org/mailman/listinfo/notmuch
More information about the notmuch
mailing list