summaryrefslogtreecommitdiff
path: root/lisp/apropos.el
diff options
context:
space:
mode:
authorKarl Heuer <kwzh@gnu.org>1994-03-25 03:03:24 +0000
committerKarl Heuer <kwzh@gnu.org>1994-03-25 03:03:24 +0000
commit44ea9fb7086c804a326adcc90587812558ac9812 (patch)
tree52f1cba9ff7a4cd028fe75d42bfeb6a80f4e2a93 /lisp/apropos.el
parentc1754c74ebb8e44b19223f0520d0ff6d3ae142ee (diff)
downloademacs-44ea9fb7086c804a326adcc90587812558ac9812.tar.gz
(apropos-match-keys): Skip duplicate keybindings.
Diffstat (limited to 'lisp/apropos.el')
-rw-r--r--lisp/apropos.el6
1 files changed, 6 insertions, 0 deletions
diff --git a/lisp/apropos.el b/lisp/apropos.el
index 53bbe1673b7..1cd37310e1c 100644
--- a/lisp/apropos.el
+++ b/lisp/apropos.el
@@ -277,6 +277,9 @@ Returns list of symbols and documentation found."
(not (setq local (lookup-key current-local-map key)))
(numberp local)
(eq command local))
+ ;; check if this binding is already recorded
+ ;; (this can happen due to inherited keymaps)
+ (not (member key (nthcdr 3 item)))
;; add this key binding to the item in alist
(nconc item (cons key nil))))
((vectorp (car map))
@@ -305,6 +308,9 @@ Returns list of symbols and documentation found."
(not (setq local (lookup-key current-local-map key)))
(numberp local)
(eq command local))
+ ;; check if this binding is already recorded
+ ;; (this can happen due to inherited keymaps)
+ (not (member key (nthcdr 3 item)))
;; add this key binding to the item in alist
(nconc item (cons key nil)))
(setq i (1+ i))))))