changeset 39786:f50214c096af

(describe-bindings-internal): New fun moved from keymap.c.
author Stefan Monnier <monnier@iro.umontreal.ca>
date Thu, 11 Oct 2001 22:31:20 +0000
parents 5c56451d877f
children b44e34df3fa2
files lisp/help.el
diffstat 1 files changed, 18 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/help.el	Thu Oct 11 21:12:47 2001 +0000
+++ b/lisp/help.el	Thu Oct 11 22:31:20 2001 +0000
@@ -319,7 +319,7 @@
 (defun view-emacs-FAQ ()
   "Display the Emacs Frequently Asked Questions (FAQ) file."
   (interactive)
-;;;  (find-file-read-only (expand-file-name "FAQ" data-directory))
+  ;; (find-file-read-only (expand-file-name "FAQ" data-directory))
   (info "(efaq)"))
 
 (defun view-emacs-problems ()
@@ -368,6 +368,21 @@
     (help-setup-xref (list #'describe-bindings prefix buffer)
 		     (interactive-p))))
 
+;; This function used to be in keymap.c.
+(defun describe-bindings-internal (&optional menus prefix)
+  "Show a list of all defined keys, and their definitions.
+We put that list in a buffer, and display the buffer.
+
+The optional argument MENUS, if non-nil, says to mention menu bindings.
+\(Ordinarily these are omitted from the output.)
+The optional argument PREFIX, if non-nil, should be a key sequence;
+then we display only bindings that start with that prefix."
+  (interactive)
+  (let ((buf (current-buffer)))
+    (with-output-to-temp-buffer "*Help*"
+      (with-current-buffer standard-output
+	(describe-buffer-bindings buf prefix menus)))))
+
 (defun where-is (definition &optional insert)
   "Print message listing key sequences that invoke the command DEFINITION.
 Argument is a command definition, usually a symbol with a function definition.
@@ -463,10 +478,9 @@
 	      (memq 'drag modifiers))
 	  (setq window (posn-window (event-start (aref key 0)))
 		position (posn-point (event-start (aref key 0)))))
-      (if (windowp window)
-	  (progn
+      (when (windowp window)
 	    (set-buffer (window-buffer window))
-	    (goto-char position)))
+	(goto-char position))
       (let ((defn (or (string-key-binding key) (key-binding key))))
 	(if (or (null defn) (integerp defn))
 	    (message "%s is undefined" (key-description key))