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.
                                       (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
 
 
          50 inbox           50 unread    
 
-Search:                                                                     
+Search:                                                                      
 
 [Show all tags]
 
 
    Welcome to notmuch. You have 50 messages.
 
-Search:                                                                     
+Search:                                                                      
 
 [Show all tags]
 
 
 
          50 inbox           50 unread           0 empty     
 
-Search:                                                                     
+Search:                                                                      
 
 [Show all tags]