Re: [PATCH] emacs: add insisible space after the search widget field in notmuch-hello

Subject: Re: [PATCH] emacs: add insisible space after the search widget field in notmuch-hello

Date: Mon, 04 Jul 2011 11:37:06 +0400

To: Pieter Praet, notmuch@notmuchmail.org

Cc:

From: Dmitry Kurochkin


On Mon, 04 Jul 2011 09:24:17 +0200, Pieter Praet <pieter@praet.org> wrote:
> On Mon,  4 Jul 2011 10:47:05 +0400, Dmitry Kurochkin <dmitry.kurochkin@gmail.com> wrote:
> > It is very convenient when C-e (bound to `widget-end-of-line') ignores
> > trailing spaces inside the search widget.  But it only does so if a
> > widget is not followed by a newline (that is why it works in the saved
> > search widgets).  The patch just adds an insisible space after the
> > search widget to get the desirable behavior of `widget-end-of-line'.
> > The extra space is also added to expected results of emacs tests.
> > ---
> >  emacs/notmuch-hello.el                             |    4 ++++
> >  test/emacs.expected-output/notmuch-hello           |    2 +-
> >  .../notmuch-hello-no-saved-searches                |    2 +-
> >  .../emacs.expected-output/notmuch-hello-with-empty |    2 +-
> >  4 files changed, 7 insertions(+), 3 deletions(-)
> > 
> > diff --git a/emacs/notmuch-hello.el b/emacs/notmuch-hello.el
> > index 65fde75..1a76c30 100644
> > --- a/emacs/notmuch-hello.el
> > +++ b/emacs/notmuch-hello.el
> > @@ -462,6 +462,10 @@ Complete list of currently available key bindings:
> >  				       (length "Search: ")))
> >  		       :action (lambda (widget &rest ignore)
> >  				 (notmuch-hello-search (widget-value widget))))
> > +	;; add an invisible space to make `widget-end-of-line' ignore
> > +	;; trailine spaces in the search widget field
> > +	(widget-insert " ")
> > +	(put-text-property (1- (point)) (point) 'invisible t)
> >  	(widget-insert "\n")
> >  
> >  	(when notmuch-hello-recent-searches
> > diff --git a/test/emacs.expected-output/notmuch-hello b/test/emacs.expected-output/notmuch-hello
> > index 64b7e42..48143bd 100644
> > --- a/test/emacs.expected-output/notmuch-hello
> > +++ b/test/emacs.expected-output/notmuch-hello
> > @@ -4,7 +4,7 @@ Saved searches: [edit]
> >  
> >  	  50 inbox           50 unread    
> >  
> > -Search:                                                                     
> > +Search:                                                                      
> >  
> >  [Show all tags]
> >  
> > diff --git a/test/emacs.expected-output/notmuch-hello-no-saved-searches b/test/emacs.expected-output/notmuch-hello-no-saved-searches
> > index 7f8206a..7c09e40 100644
> > --- a/test/emacs.expected-output/notmuch-hello-no-saved-searches
> > +++ b/test/emacs.expected-output/notmuch-hello-no-saved-searches
> > @@ -1,6 +1,6 @@
> >     Welcome to notmuch. You have 50 messages.
> >  
> > -Search:                                                                     
> > +Search:                                                                      
> >  
> >  [Show all tags]
> >  
> > diff --git a/test/emacs.expected-output/notmuch-hello-with-empty b/test/emacs.expected-output/notmuch-hello-with-empty
> > index a9ed630..2a267c9 100644
> > --- a/test/emacs.expected-output/notmuch-hello-with-empty
> > +++ b/test/emacs.expected-output/notmuch-hello-with-empty
> > @@ -4,7 +4,7 @@ Saved searches: [edit]
> >  
> >  	  50 inbox           50 unread           0 empty     
> >  
> > -Search:                                                                     
> > +Search:                                                                      
> >  
> >  [Show all tags]
> >  
> > -- 
> > 1.7.5.4
> > 
> > _______________________________________________
> > notmuch mailing list
> > notmuch@notmuchmail.org
> > http://notmuchmail.org/mailman/listinfo/notmuch
> 
> 
> Definitely an improvement!
> 
> 
> But Kan-Ru Chen posted a similar patch [1] about a year ago,
> which I've been keeping in my personal branch (and rebasing)
> for way too long.
> 

ouch.  I hope Carl reads this and feels your pain :)

> Care to comment on the differences in approach?
> 

It is very similar.  If I saw this patch earlier, I would not care to
write mine.  Comments below.

                        :size (max 8 (- (window-width) notmuch-hello-indent
 -				       (length "Search: ")))
 +				       (length "Search: ") 1 ))

Looks like this results in search widget field 1 character shorter than
we have now.  And hence not aligned with the recent search lines.  I do
not see why we need this.

 -	(widget-insert "\n")
 +	(widget-insert " \n")

That was my first implementation of the patch.  Later I changed it to
make the space invisible, so you can not get to it with C-f and C-b.  A
small improvement IMO.

I wish I saw Kan-Ru Chen's patches earlier.

Regards,
  Dmitry

> 
> Peace
> 
> -- 
> Pieter
> 
> [1] id:"1280195325-9066-2-git-send-email-kanru@kanru.info"

Thread: