From: Mark Walters Date: Tue, 12 Nov 2013 20:10:57 +0000 (+0000) Subject: emacs: help: add base-keymap X-Git-Tag: 0.17_rc1~37 X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=commitdiff_plain;h=8141555d2540633c9b741993b92d6b9b3030fd83 emacs: help: add base-keymap To support key remapping in emacs help we need to know the base keymap when looking at the remapping. keep track of this while we recurse down the sub-keymaps in help. --- diff --git a/emacs/notmuch-lib.el b/emacs/notmuch-lib.el index 065645c8..3eedd710 100644 --- a/emacs/notmuch-lib.el +++ b/emacs/notmuch-lib.el @@ -260,7 +260,7 @@ It does not prepend if ACTUAL-KEY is already listed in TAIL." tail))) tail) -(defun notmuch-describe-keymap (keymap ua-keys &optional prefix tail) +(defun notmuch-describe-keymap (keymap ua-keys base-keymap &optional prefix tail) "Return a list of cons cells, each describing one binding in KEYMAP. Each cons cell consists of a string giving a human-readable @@ -277,7 +277,7 @@ prefix argument. PREFIX and TAIL are used internally." ((keymapp binding) (setq tail (notmuch-describe-keymap - binding ua-keys (notmuch-prefix-key-description key) tail))) + binding ua-keys base-keymap (notmuch-prefix-key-description key) tail))) (binding (setq tail (notmuch-describe-key (vector key) binding prefix ua-keys tail))))) keymap) @@ -292,7 +292,7 @@ prefix argument. PREFIX and TAIL are used internally." (let* ((keymap-name (substring doc (match-beginning 1) (match-end 1))) (keymap (symbol-value (intern keymap-name))) (ua-keys (where-is-internal 'universal-argument keymap t)) - (desc-alist (notmuch-describe-keymap keymap ua-keys)) + (desc-alist (notmuch-describe-keymap keymap ua-keys keymap)) (desc-list (mapcar (lambda (arg) (concat (car arg) "\t" (cdr arg))) desc-alist))) (mapconcat #'identity desc-list "\n"))))) (setq doc (replace-match desc 1 1 doc)))