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 :)

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

Reply via email to