> The way it works is that notmuch unconditionally calls > notmuch-pick-init when started: in the default case (the stub file) > this does nothing, whereas if the user replaces the stub by the full > file this sets up all the keybinding etc. In case people are interested the relevant code in the real notmuch-pick-init function is (defvar notmuch-pick-initialized nil) (defun notmuch-pick-init() (unless notmuch-pick-initialized (define-key 'notmuch-search-mode-map "z" 'notmuch-pick) (define-key 'notmuch-search-mode-map "Z" 'notmuch-search-pick-current-query) (define-key 'notmuch-search-mode-map (kbd "M-RET") 'notmuch-search-pick-thread) (define-key 'notmuch-hello-mode-map "z" 'notmuch-hello-pick) (define-key 'notmuch-show-mode-map "z" 'notmuch-pick) (define-key 'notmuch-show-mode-map "Z" 'notmuch-show-pick-current-query) (setq notmuch-pick-initialized t) (message "Initialised notmuch-pick"))) Best wishes Mark