[PATCH] emacs: get rid of trailing spaces in notmuch-hello view

Mark Walters markwalters1009 at gmail.com
Mon Apr 9 14:57:27 PDT 2012


This looks fine to me (but I am not a lisp expert).

Mark

On Sat, 10 Mar 2012, Dmitry Kurochkin <dmitry.kurochkin at gmail.com> wrote:
> This patch removes trailing spaces in notmuch-hello view.
>
> A side effect of this change is that tag/query buttons no longer
> include a space at the end.  This means that pressing RET when the
> point is at the first character after the tag/query button no longer
> works (note that this is the standard behavior for buttons).  We may
> change this behavior in the future (without adding trailing spaces
> back) if people would find this change inconvenient.
> ---
>  emacs/notmuch-hello.el                             |   30 ++++++++------------
>  test/emacs                                         |    2 +-
>  test/emacs.expected-output/notmuch-hello           |    2 +-
>  .../emacs.expected-output/notmuch-hello-long-names |    6 ++--
>  .../notmuch-hello-new-section                      |    2 +-
>  .../notmuch-hello-section-counts                   |    4 +-
>  .../notmuch-hello-section-hidden-tag               |    2 +-
>  .../notmuch-hello-section-with-empty               |    2 +-
>  .../emacs.expected-output/notmuch-hello-with-empty |    2 +-
>  9 files changed, 23 insertions(+), 29 deletions(-)
>
> diff --git a/emacs/notmuch-hello.el b/emacs/notmuch-hello.el
> index 28f39f1..17f7edd 100644
> --- a/emacs/notmuch-hello.el
> +++ b/emacs/notmuch-hello.el
> @@ -429,7 +429,8 @@ Such a list can be computed with `notmuch-hello-query-counts'."
>    (let* ((widest (notmuch-hello-longest-label searches))
>  	 (tags-and-width (notmuch-hello-tags-per-line widest))
>  	 (tags-per-line (car tags-and-width))
> -	 (widest (cdr tags-and-width))
> +	 (column-width (cdr tags-and-width))
> +	 (column-indent 0)
>  	 (count 0)
>  	 (reordered-list (notmuch-hello-reflect searches tags-per-line))
>  	 ;; Hack the display of the buttons used.
> @@ -441,32 +442,25 @@ Such a list can be computed with `notmuch-hello-query-counts'."
>      (mapc (lambda (elem)
>  	    ;; (not elem) indicates an empty slot in the matrix.
>  	    (when elem
> +	      (if (> column-indent 0)
> +		  (widget-insert (make-string column-indent ? )))
>  	      (let* ((name (first elem))
>  		     (query (second elem))
> -		     (msg-count (third elem))
> -		     (formatted-name (format "%s " name)))
> +		     (msg-count (third elem)))
>  		(widget-insert (format "%8s "
>  				       (notmuch-hello-nice-number msg-count)))
> -		(if (string= formatted-name notmuch-hello-target)
> +		(if (string= name notmuch-hello-target)
>  		    (setq found-target-pos (point-marker)))
>  		(widget-create 'push-button
>  			       :notify #'notmuch-hello-widget-search
>  			       :notmuch-search-terms query
> -			       formatted-name)
> -		(unless (eq (% count tags-per-line) (1- tags-per-line))
> -		  ;; If this is not the last tag on the line, insert
> -		  ;; enough space to consume the rest of the column.
> -		  ;; Because the button for the name is `(1+ (length
> -		  ;; name))' long (due to the trailing space) we can
> -		  ;; just insert `(- widest (length name))' spaces - the
> -		  ;; column separator is included in the button if
> -		  ;; `(equal widest (length name)'.
> -		  (widget-insert (make-string (max 0
> -						   (- widest (length name)))
> -					      ? )))))
> +			       name)
> +		(setq column-indent
> +		      (1+ (max 0 (- column-width (length name)))))))
>  	    (setq count (1+ count))
> -	    (if (eq (% count tags-per-line) 0)
> -		(widget-insert "\n")))
> +	    (when (eq (% count tags-per-line) 0)
> +	      (setq column-indent 0)
> +	      (widget-insert "\n")))
>  	  reordered-list)
>  
>      ;; If the last line was not full (and hence did not include a
> diff --git a/test/emacs b/test/emacs
> index 29a489c..42780af 100755
> --- a/test/emacs
> +++ b/test/emacs
> @@ -39,7 +39,7 @@ test_begin_subtest "Navigation of notmuch-hello to search results"
>  test_emacs '(notmuch-hello)
>  	    (goto-char (point-min))
>  	    (re-search-forward "inbox")
> -	    (widget-button-press (point))
> +	    (widget-button-press (1- (point)))
>  	    (notmuch-test-wait)
>  	    (test-output)'
>  test_expect_equal_file OUTPUT $EXPECTED/notmuch-hello-view-inbox
> diff --git a/test/emacs.expected-output/notmuch-hello b/test/emacs.expected-output/notmuch-hello
> index 1470790..2d69891 100644
> --- a/test/emacs.expected-output/notmuch-hello
> +++ b/test/emacs.expected-output/notmuch-hello
> @@ -2,7 +2,7 @@
>  
>  Saved searches: [edit]
>  
> -	  52 inbox           52 unread    
> +	  52 inbox           52 unread
>  
>  Search:                                                                     .
>  
> diff --git a/test/emacs.expected-output/notmuch-hello-long-names b/test/emacs.expected-output/notmuch-hello-long-names
> index be6d2c5..486d0d9 100644
> --- a/test/emacs.expected-output/notmuch-hello-long-names
> +++ b/test/emacs.expected-output/notmuch-hello-long-names
> @@ -2,14 +2,14 @@
>  
>  Saved searches: [edit]
>  
> -	  52 inbox           52 unread    
> +	  52 inbox           52 unread
>  
>  Search:                                                                     .
>  
>  All tags: [hide]
>  
> -	  52 a-very-long-tag       52 inbox                 52 unread 
> -	   4 attachment             7 signed          
> +	  52 a-very-long-tag       52 inbox                 52 unread
> +	   4 attachment             7 signed
>  
>  	 Type a search query and hit RET to view matching threads.
>  		Edit saved searches with the `edit' button.
> diff --git a/test/emacs.expected-output/notmuch-hello-new-section b/test/emacs.expected-output/notmuch-hello-new-section
> index 6a339aa..67fdef2 100644
> --- a/test/emacs.expected-output/notmuch-hello-new-section
> +++ b/test/emacs.expected-output/notmuch-hello-new-section
> @@ -1,4 +1,4 @@
>  Test: [hide]
>  
> -	  52 inbox 
> +	  52 inbox
>  
> diff --git a/test/emacs.expected-output/notmuch-hello-section-counts b/test/emacs.expected-output/notmuch-hello-section-counts
> index 9d79659..7a9827c 100644
> --- a/test/emacs.expected-output/notmuch-hello-section-counts
> +++ b/test/emacs.expected-output/notmuch-hello-section-counts
> @@ -1,5 +1,5 @@
>  Test-with-counts: [hide]
>  
> -	   2 attachment             7 signed          
> -	   7 inbox                  7 unread          
> +	   2 attachment             7 signed
> +	   7 inbox                  7 unread
>  
> diff --git a/test/emacs.expected-output/notmuch-hello-section-hidden-tag b/test/emacs.expected-output/notmuch-hello-section-hidden-tag
> index 3688e7c..809a114 100644
> --- a/test/emacs.expected-output/notmuch-hello-section-hidden-tag
> +++ b/test/emacs.expected-output/notmuch-hello-section-hidden-tag
> @@ -1,4 +1,4 @@
>  Test-with-filtered: [hide]
>  
> -	   4 attachment            52 inbox                  7 signed 
> +	   4 attachment            52 inbox                  7 signed
>  
> diff --git a/test/emacs.expected-output/notmuch-hello-section-with-empty b/test/emacs.expected-output/notmuch-hello-section-with-empty
> index dc2568d..5c67317 100644
> --- a/test/emacs.expected-output/notmuch-hello-section-with-empty
> +++ b/test/emacs.expected-output/notmuch-hello-section-with-empty
> @@ -1,4 +1,4 @@
>  Test-with-empty: [hide]
>  
> -	  52 inbox 
> +	  52 inbox
>  
> diff --git a/test/emacs.expected-output/notmuch-hello-with-empty b/test/emacs.expected-output/notmuch-hello-with-empty
> index 5e53222..854e0c2 100644
> --- a/test/emacs.expected-output/notmuch-hello-with-empty
> +++ b/test/emacs.expected-output/notmuch-hello-with-empty
> @@ -2,7 +2,7 @@
>  
>  Saved searches: [edit]
>  
> -	  52 inbox           52 unread           0 empty     
> +	  52 inbox           52 unread           0 empty
>  
>  Search:                                                                     .
>  
> -- 
> 1.7.9.1
>
> _______________________________________________
> notmuch mailing list
> notmuch at notmuchmail.org
> http://notmuchmail.org/mailman/listinfo/notmuch


More information about the notmuch mailing list