changeset 60460:7da5648c2f7d

(disabled-command-function): Output in *Disabled Command*. Explicitly ignore non-keyboard events, and explicitly handle C-g.
author Richard M. Stallman <rms@gnu.org>
date Sun, 06 Mar 2005 18:29:10 +0000
parents 7d534323afd2
children f31205c87d5e
files lisp/novice.el
diffstat 1 files changed, 9 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/novice.el	Sun Mar 06 18:27:25 2005 +0000
+++ b/lisp/novice.el	Sun Mar 06 18:29:10 2005 +0000
@@ -49,7 +49,7 @@
 (defun disabled-command-function (&rest ignore)
   (let (char)
     (save-window-excursion
-     (with-output-to-temp-buffer "*Help*"
+     (with-output-to-temp-buffer "*Disabled Command*"
        (let ((keys (this-command-keys)))
 	 (if (or (eq (aref keys 0)
 		     (if (stringp keys)
@@ -68,7 +68,7 @@
 	 (princ "It is disabled because new users often find it confusing.\n")
 	 (princ "Here's the first part of its description:\n\n")
 	 ;; Keep only the first paragraph of the documentation.
-	 (with-current-buffer "*Help*"
+	 (with-current-buffer "*Disabled Command*"
 	   (goto-char (point-max))
 	   (let ((start (point)))
 	     (save-excursion
@@ -91,10 +91,15 @@
 	(help-mode)))
      (message "Type y, n, ! or SPC (the space bar): ")
      (let ((cursor-in-echo-area t))
-       (while (not (memq (setq char (downcase (read-char)))
-			 '(?! ?y ?n ?\ )))
+       (while (progn (setq char (read-event))
+		     (or (not (numberp char))
+			 (not (memq (downcase char)
+				    '(?! ?y ?n ?\  ?\C-g)))))
 	 (ding)
 	 (message "Please type y, n, ! or SPC (the space bar): "))))
+    (setq char (downcase char))
+    (if (= char ?\C-g)
+	(setq quit-flag t))
     (if (= char ?!)
 	(setq disabled-command-function nil))
     (if (= char ?y)