Commit 98ce2330 authored by Richard M. Stallman's avatar Richard M. Stallman
Browse files

(apropos-print): Omit key sequences that contain a frame.

parent 96899083
......@@ -458,25 +458,42 @@ found."
point1 (point))
(princ symbol) ; print symbol name
(setq point2 (point))
;; don't calculate key-bindings unless needed
;; Calculate key-bindings if we want them.
(and do-keys
(commandp symbol)
(indent-to 30 1)
(if (setq item (save-excursion
(set-buffer old-buffer)
(where-is-internal symbol)))
(if (let ((keys
(set-buffer old-buffer)
(where-is-internal symbol)))
;; Copy over the list of key sequences,
;; omitting any that contain a buffer or a frame.
(while keys
(let ((key (car keys))
(i 0)
(while (< i (length key))
(if (or (framep (aref key i))
(bufferp (aref key i)))
(setq loser t))
(setq i (1+ i)))
(or loser
(setq filtered (cons key filtered))))
(setq keys (cdr keys)))
(setq item filtered))
;; Convert the remaining keys to a string and insert.
(if apropos-keybinding-face
(lambda (key)
(setq key (key-description key))
(lambda (key)
(setq key (key-description key))
(if apropos-keybinding-face
(put-text-property 0 (length key)
'face apropos-keybinding-face
item ", ")
"(not bound to any keys)")))
item ", "))
(insert "(not bound to any keys)"))))
;; only now so we don't propagate text attributes all over
(put-text-property point1 point2 'item
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment