Re: [PATCH 1/3] emacs: show: modify insert-part-header to save the button text

Subject: Re: [PATCH 1/3] emacs: show: modify insert-part-header to save the button text

Date: Mon, 10 Dec 2012 19:22:22 -0500

To: Mark Walters, notmuch@notmuchmail.org

Cc:

From: Austin Clements


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

Thread: