branch: externals/which-key
commit 7927209c1bec93920bf68cf36ddd6832317a0ae7
Author: Jiangbin Zhao <[email protected]>
Commit: Jiangbin Zhao <[email protected]>
fix which-key--show-keymap for which-key-enable-extended-define-key
With which-key-enable-extended-define-key set to 't, given the keymap
and bindings below:
(setq a-map (make-sparse-keymap))
(bind-keys :map a-map
("a" . ("key 1" . command-1))
("b" . ("key b" . command-2)))
The output of (which-key--get-keymap-bindings a-map) was having
"unknown" as the key descriptions.
This change fixes it therefore allows the following to work as
expected:
(which-key--show-keymap "A map" a-map)
---
which-key.el | 3 +++
1 file changed, 3 insertions(+)
diff --git a/which-key.el b/which-key.el
index 8b4c60f..c5652d8 100644
--- a/which-key.el
+++ b/which-key.el
@@ -1823,6 +1823,9 @@ ones. PREFIX is for internal use and should not be used."
(setq bindings
(append bindings
(which-key--get-keymap-bindings def t key))))
+ ((and def (consp def))
+ (cl-pushnew (cons key-desc (car def))
+ bindings :test (lambda (a b) (string= (car a) (car
b)))))
(t
(when def
(cl-pushnew