From e972d752c038b015b0af92de4ce1e00aa2557b71 Mon Sep 17 00:00:00 2001
From: Dmitry Kurochkin <dmitry.kurochkin@gmail.com>
Date: Mon, 4 Jul 2011 10:47:05 +0400
Subject: [PATCH] emacs: add invisible space after the search widget field in
 notmuch-hello

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 invisible 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 +-
 test/emacs.expected-output/notmuch-hello-no-saved-searches | 2 +-
 test/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 65fde75a..1a76c30a 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 64b7e42c..48143bd7 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 7f8206aa..7c09e40b 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 a9ed6304..2a267c92 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]
 
-- 
2.45.2