# HG changeset patch # User Richard M. Stallman # Date 822782719 0 # Node ID 8e97dadccf2bd285f37b2f87e2426286fa9e3fa1 # Parent 289506921917e7f8cedf76f4b448b63698c331b7 (apropos-print): Omit key sequences that contain a frame. diff -r 289506921917 -r 8e97dadccf2b lisp/apropos.el --- a/lisp/apropos.el Sat Jan 27 18:32:17 1996 +0000 +++ b/lisp/apropos.el Sat Jan 27 22:45:19 1996 +0000 @@ -458,25 +458,42 @@ 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) - (insert - (if (setq item (save-excursion - (set-buffer old-buffer) - (where-is-internal symbol))) + (if (let ((keys + (save-excursion + (set-buffer old-buffer) + (where-is-internal symbol))) + filtered) + ;; Copy over the list of key sequences, + ;; omitting any that contain a buffer or a frame. + (while keys + (let ((key (car keys)) + (i 0) + loser) + (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. + (insert (mapconcat - (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 - key) - key) - 'key-description) - item ", ") - "(not bound to any keys)"))) + key)) + key) + item ", ")) + (insert "(not bound to any keys)")))) (terpri) ;; only now so we don't propagate text attributes all over (put-text-property point1 point2 'item