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

Pieter Praet pieter at praet.org
Mon Jul 4 02:47:24 PDT 2011


On Mon, 04 Jul 2011 13:08:43 +0400, Dmitry Kurochkin <dmitry.kurochkin at gmail.com> wrote:
> On Mon, 04 Jul 2011 10:55:21 +0200, Pieter Praet <pieter at praet.org> wrote:
> > On Mon,  4 Jul 2011 12:27:04 +0400, Dmitry Kurochkin <dmitry.kurochkin at 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'.
> > > 
> > > Previous behavior of C-e:
> > > 
> > >   Search: [text                _]
> > > 
> > > Now:
> > > 
> > >   Search: [text_                ]
> > > 
> > > The extra space is also added to expected results of emacs tests.
> > > ---
> > > 
> > > Amended version with a better commit message.  Stolen from a similar
> > > patch by Kan-Ru Chen [1] as suggested by Pieter Praet :)
> > 
> > Muhahaaa!
> > 
> > > Regards,
> > >   Dmitry
> > > 
> > > [1] id:"1280195325-9066-2-git-send-email-kanru at kanru.info"
> > > 
> > >  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 at notmuchmail.org
> > > http://notmuchmail.org/mailman/listinfo/notmuch
> > 
> > Signed-off-by: Pieter Praet <pieter at praet.org>
> > 
> > 
> > Would this be the right place to promote two of your previous patches [1,2] ?
> > 
> > They serve as ears when using eye protection against `show-trailing-whitespace'.
> > 
> 
> I am glad somebody uses it except for me :)  I use them exactly for the
> same reason.
> 
> They are not ready for mainline.  Two issues:
> 
> * Poor commit message should be improved to make Carl happy.

Rather skimpy indeed (as in non-existent) but I think the mere act of
inserting "\n" at the right point in their titles would provide a fairly
descriptive commit msg.

> * I have wrote them long ago, and I am not sure it is a proper
>   implementation.  I need to double check that before asking Carl to
>   push it.  Or somebody else with a better elisp knowledge should review
>   and approve it.
> 
> I have been delaying this for some time.  Since now I know somebody
> actually uses it, I may get to it sooner rather than later.  But no
> promises.

No promises? I demand a full refund!

> BTW I am not really sure that hooks are the best solution for turning
> off `show-trailing-whitespace'.  Perhaps there is a better way?  Would
> appreciate comments.  (Though, hooks would be useful anyway.)

I (humbly) assert that hooks cure both the sniffles and cancer.

Why install a sink, when one could instead provide the means to install
an entire kitchen? People *will* reciprocate with patches for mainline,
as previous threads have thoroughly proven. Even more so, I'd argue,
since experimentation is facilitated.

> Regards,
>   Dmitry
> 
> > 
> > Peace
> > 
> > -- 
> > Pieter
> > 
> > [1] id:"1278000507-22290-5-git-send-email-dmitry.kurochkin at gmail.com"
> > [2] id:"1278000507-22290-6-git-send-email-dmitry.kurochkin at gmail.com"


Peace

-- 
Pieter


More information about the notmuch mailing list