[PATCH] contrib: pick: use global keymap

Tomi Ollila tomi.ollila at iki.fi
Sun Sep 15 01:35:05 PDT 2013


On Sun, Sep 15 2013, Mark Walters <markwalters1009 at gmail.com> wrote:

> Austin recently introduced a new global keymap. This makes pick use
> this global map.
>
> In most cases pick needs to override this global map because
> it wants to close the message pane before doing the action. However,
> this documents the over-rides and makes it less likely that the pick
> bindings will get out of sync with the main bindings.
> ---

LGTM.

Tomi

>  contrib/notmuch-pick/notmuch-pick.el |   16 ++++++++++++----
>  1 files changed, 12 insertions(+), 4 deletions(-)
>
> diff --git a/contrib/notmuch-pick/notmuch-pick.el b/contrib/notmuch-pick/notmuch-pick.el
> index cba9549..01ca4bd 100644
> --- a/contrib/notmuch-pick/notmuch-pick.el
> +++ b/contrib/notmuch-pick/notmuch-pick.el
> @@ -230,6 +230,17 @@ FUNC."
>  
>  (defvar notmuch-pick-mode-map
>    (let ((map (make-sparse-keymap)))
> +    (set-keymap-parent map notmuch-common-keymap)
> +    ;; The following override the global keymap.
> +    ;; Override because we want to close message pane first.
> +    (define-key map "?" (notmuch-pick-close-message-pane-and #'notmuch-help))
> +    ;; Override because we first close message pane and then close pick buffer.
> +    (define-key map "q" 'notmuch-pick-quit)
> +    ;; Override because we close message pane after the search query is entered.
> +    (define-key map "s" 'notmuch-pick-to-search)
> +    ;; Override because we want to close message pane first.
> +    (define-key map "m" (notmuch-pick-close-message-pane-and #'notmuch-mua-new-mail))
> +
>      (define-key map [mouse-1] 'notmuch-pick-show-message)
>      ;; these use notmuch-show functions directly
>      (define-key map "|" 'notmuch-show-pipe-message)
> @@ -244,20 +255,16 @@ FUNC."
>      (define-key map "e" (notmuch-pick-to-message-pane #'notmuch-pick-button-activate))
>  
>      ;; bindings from show (or elsewhere) but we close the message pane first.
> -    (define-key map "m" (notmuch-pick-close-message-pane-and #'notmuch-mua-new-mail))
>      (define-key map "f" (notmuch-pick-close-message-pane-and #'notmuch-show-forward-message))
>      (define-key map "r" (notmuch-pick-close-message-pane-and #'notmuch-show-reply-sender))
>      (define-key map "R" (notmuch-pick-close-message-pane-and #'notmuch-show-reply))
>      (define-key map "V" (notmuch-pick-close-message-pane-and #'notmuch-show-view-raw-message))
> -    (define-key map "?" (notmuch-pick-close-message-pane-and #'notmuch-help))
>  
>      ;; The main pick bindings
> -    (define-key map "q" 'notmuch-pick-quit)
>      (define-key map "x" 'notmuch-pick-quit)
>      (define-key map "A" 'notmuch-pick-archive-thread)
>      (define-key map "a" 'notmuch-pick-archive-message-then-next)
>      (define-key map "=" 'notmuch-pick-refresh-view)
> -    (define-key map "s" 'notmuch-pick-to-search)
>      (define-key map "z" 'notmuch-pick-to-pick)
>      (define-key map "n" 'notmuch-pick-next-matching-message)
>      (define-key map "p" 'notmuch-pick-prev-matching-message)
> @@ -849,6 +856,7 @@ Complete list of currently available key bindings:
>  
>    (interactive)
>    (kill-all-local-variables)
> +  (setq notmuch-buffer-refresh-function #'notmuch-pick-refresh-view)
>    (use-local-map notmuch-pick-mode-map)
>    (setq major-mode 'notmuch-pick-mode
>  	mode-name "notmuch-pick")
> -- 
> 1.7.9.1
>
> _______________________________________________
> notmuch mailing list
> notmuch at notmuchmail.org
> http://notmuchmail.org/mailman/listinfo/notmuch


More information about the notmuch mailing list