Return list instead printing to *Message* buffer in my/lookup-key.
--- a/.emacs-my Thu Jan 26 21:18:12 2017 +0200
+++ b/.emacs-my Fri Jan 27 17:23:34 2017 +0200
@@ -158,12 +158,15 @@
`(condition-case nil (progn ,@body) (error nil)))
)
-(defun my-lookup-key (key)
+(defun my/lookup-key (key)
"Search for KEY in all known keymaps."
- (mapatoms (lambda (ob) (when (and (boundp ob) (keymapp (symbol-value ob)))
- (when (functionp (lookup-key (symbol-value ob) key))
- (message "%S" ob))))
- obarray))
+ (let (result)
+ (mapatoms (lambda (ob) (when (and (boundp ob)
+ (keymapp (symbol-value ob))
+ (functionp (lookup-key (symbol-value ob) key)))
+ (push ob result)))
+ obarray)
+ (remove-if-not 'identity result) ))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(message "lisp, elisp")