On Sat, Nov 07 2015, Mark Walters wrote: > From: David Edmondson <d...@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 _______________________________________________ notmuch mailing list notmuch@notmuchmail.org https://notmuchmail.org/mailman/listinfo/notmuch