[PATCH v4 5/7] emacs/show: Make the insertion of part headers overridable.

David Edmondson dme at dme.org
Tue Feb 9 12:32:13 PST 2016


On Sat, Nov 07 2015, Mark Walters wrote:
> From: David Edmondson <dme at dme.org>
>
> This allows callers of notmuch-show-insert-bodypart to use a `let'
> binding to override the default function for specifying when part
> headers should be inserted.

Looks fine.

> ---
>  emacs/notmuch-show.el | 16 ++++++++++++----
>  1 file changed, 12 insertions(+), 4 deletions(-)
>
> diff --git a/emacs/notmuch-show.el b/emacs/notmuch-show.el
> index f8184e2..f4a65cc 100644
> --- a/emacs/notmuch-show.el
> +++ b/emacs/notmuch-show.el
> @@ -945,8 +945,16 @@ (defun notmuch-show-mime-type (part)
>  	     "text/x-diff")
>  	content-type)))
>  
> +;; The following variable can be overridden by let bindings.
> +(defvar notmuch-show-insert-header-p-function 'notmuch-show-insert-header-p
> +  "Specify which function decides which part headers get inserted.
> +
> +The function should take two parameters, PART and HIDE, and
> +should return non-NIL if a header button should be inserted for
> +this part.")
> +
>  (defun notmuch-show-insert-header-p (part hide)
> -  "Return non-NIL if a header button should be inserted for this part."
> +  ;; Show all part buttons except for the first part if it is text/plain.
>    (let ((mime-type (notmuch-show-mime-type part)))
>      (not (and (string= mime-type "text/plain")
>  	      (<= (plist-get part :id) 1)))))
> @@ -965,9 +973,9 @@ (defun notmuch-show-insert-bodypart (msg part depth &optional hide)
>  		    (> notmuch-show-max-text-part-size 0)
>  		    (> (length (plist-get part :content)) notmuch-show-max-text-part-size)))
>  	 (beg (point))
> -	 ;; We omit the part button for the first (or only) part if
> -	 ;; this is text/plain, or HIDE is 'no-buttons.
> -	 (button (when (notmuch-show-insert-header-p part hide)
> +	 ;; This default header-p function omits the part button for
> +	 ;; the first (or only) part if this is text/plain.
> +	 (button (when (funcall notmuch-show-insert-header-p-function 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