On Tue, 04 Dec 2012, Mark Walters <markwalters1009@gmail.com> wrote: > This just make notmuch-show-insert-part-header save the basic button > text for parts as an attribute. This makes it simpler for the button > action (added in a later patch) to reword the label as appropriate (eg > append "(not shown)" or not as appropriate). > --- > emacs/notmuch-show.el | 19 ++++++++++--------- > 1 files changed, 10 insertions(+), 9 deletions(-) > > diff --git a/emacs/notmuch-show.el b/emacs/notmuch-show.el > index d7fa10e..f8ce037 100644 > --- a/emacs/notmuch-show.el > +++ b/emacs/notmuch-show.el > @@ -483,17 +483,18 @@ message at DEPTH in the current thread." > (fset 'notmuch-show-part-button-map notmuch-show-part-button-map) > > (defun notmuch-show-insert-part-header (nth content-type declared-type &optional name comment) > - (let ((button)) > + (let ((button) > + (base-label (concat (if name (concat name ": ") "") > + declared-type > + (if (not (string-equal declared-type content-type)) > + (concat " (as " content-type ")") > + "") > + (or comment "")))) > + This patch is obviously fine, but if you don't mind some drive-by cleanup, this could be made simpler by taking advantage of how concat omits nils: (concat (when name (concat name ": ")) declared-type (unless (string-equal declared-type content-type) (concat " (as " content-type ")")) comment) > (setq button > (insert-button > - (concat "[ " > - (if name (concat name ": ") "") > - declared-type > - (if (not (string-equal declared-type content-type)) > - (concat " (as " content-type ")") > - "") > - (or comment "") > - " ]") > + (concat "[ " base-label " ]") > + :base-label base-label > :type 'notmuch-show-part-button-type > :notmuch-part nth > :notmuch-filename name > -- > 1.7.9.1 > > _______________________________________________ > notmuch mailing list > notmuch@notmuchmail.org > http://notmuchmail.org/mailman/listinfo/notmuch