[PATCH 1/3] emacs: bind "s" to `notmuch-search' in notmuch-hello buffer

Jani Nikula jani at nikula.org
Tue Jan 17 13:22:30 PST 2012


On Tue, 17 Jan 2012 23:34:08 +0400, Dmitry Kurochkin <dmitry.kurochkin at gmail.com> wrote:
> Before the change, "s" in notmuch-hello buffer would jump to the
> search box.  The patch changes the binding to `notmuch-search' which
> is consistent with all other notmuch buffers.
> ---
>  emacs/notmuch-hello.el |   19 ++++++-------------
>  1 files changed, 6 insertions(+), 13 deletions(-)
> 
> diff --git a/emacs/notmuch-hello.el b/emacs/notmuch-hello.el
> index 02017ce..08fcd22 100644
> --- a/emacs/notmuch-hello.el
> +++ b/emacs/notmuch-hello.el
> @@ -29,9 +29,6 @@
>  (declare-function notmuch-search "notmuch" (query &optional oldest-first target-thread target-line continuation))
>  (declare-function notmuch-poll "notmuch" ())
>  
> -(defvar notmuch-hello-search-bar-marker nil
> -  "The position of the search bar within the notmuch-hello buffer.")
> -
>  (defcustom notmuch-recent-searches-max 10
>    "The number of recent searches to store and display."
>    :type 'integer
> @@ -321,11 +318,6 @@ should be. Returns a cons cell `(tags-per-line width)'."
>  	(widget-insert "\n"))
>      found-target-pos))
>  
> -(defun notmuch-hello-goto-search ()
> -  "Put point inside the `search' widget."
> -  (interactive)
> -  (goto-char notmuch-hello-search-bar-marker))

After this, what would the user have to do to bind some key to put the
point in the search box? If someone wants to restore old behaviour for
themselves.

Also, it's perhaps out of scope for this patch, but it will become more
evident now that notmuch-search does not respect
notmuch-search-oldest-first when called without parameters like the new
's' keybinding does. This is the same in search view.


BR,
Jani.


> -
>  (defimage notmuch-hello-logo ((:type png :file "notmuch-logo.png")))
>  
>  (defun notmuch-hello-search-continuation()
> @@ -355,7 +347,7 @@ should be. Returns a cons cell `(tags-per-line width)'."
>      (define-key map "G" 'notmuch-hello-poll-and-update)
>      (define-key map (kbd "<C-tab>") 'widget-backward)
>      (define-key map "m" 'notmuch-mua-new-mail)
> -    (define-key map "s" 'notmuch-hello-goto-search)
> +    (define-key map "s" 'notmuch-search)
>      map)
>    "Keymap for \"notmuch hello\" buffers.")
>  (fset 'notmuch-hello-mode-map notmuch-hello-mode-map)
> @@ -468,7 +460,8 @@ Complete list of currently available key bindings:
>        (widget-insert " messages.\n"))
>  
>      (let ((found-target-pos nil)
> -	  (final-target-pos nil))
> +	  (final-target-pos nil)
> +	  (search-bar-pos))
>        (let* ((saved-alist
>  	      ;; Filter out empty saved searches if required.
>  	      (if notmuch-show-empty-saved-searches
> @@ -500,7 +493,7 @@ Complete list of currently available key bindings:
>  	    (indent-rigidly start (point) notmuch-hello-indent)))
>  
>  	(widget-insert "\nSearch: ")
> -	(setq notmuch-hello-search-bar-marker (point-marker))
> +	(setq search-bar-pos (point-marker))
>  	(widget-create 'editable-field
>  		       ;; Leave some space at the start and end of the
>  		       ;; search boxes.
> @@ -589,7 +582,7 @@ Complete list of currently available key bindings:
>  	(when notmuch-saved-searches
>  	  (widget-insert "Edit saved searches with the `edit' button.\n"))
>  	(widget-insert "Hit RET or click on a saved search or tag name to view matching threads.\n")
> -	(widget-insert "`=' refreshes this screen. `s' jumps to the search box. `q' to quit.\n")
> +	(widget-insert "`=' refreshes this screen. `s' to search messages. `q' to quit.\n")
>  	(let ((fill-column (- (window-width) notmuch-hello-indent)))
>  	  (center-region start (point))))
>  
> @@ -601,7 +594,7 @@ Complete list of currently available key bindings:
>  	  (widget-forward 1)))
>  
>        (unless (widget-at)
> -	(notmuch-hello-goto-search))))
> +	(goto-char search-bar-pos))))
>  
>    (run-hooks 'notmuch-hello-refresh-hook))
>  
> -- 
> 1.7.8.3
> 
> _______________________________________________
> notmuch mailing list
> notmuch at notmuchmail.org
> http://notmuchmail.org/mailman/listinfo/notmuch


More information about the notmuch mailing list