]> git.eshelyaron.com Git - emacs.git/commitdiff
(disabled-command-function): Output in *Disabled Command*.
authorRichard M. Stallman <rms@gnu.org>
Sun, 6 Mar 2005 18:29:10 +0000 (18:29 +0000)
committerRichard M. Stallman <rms@gnu.org>
Sun, 6 Mar 2005 18:29:10 +0000 (18:29 +0000)
Explicitly ignore non-keyboard events, and explicitly handle C-g.

lisp/novice.el

index de92857980bbf0a80492146ab5b22556b791d2a4..3e63f0a7bc6766970d58a7a3a4b2accfba24e706 100644 (file)
@@ -49,7 +49,7 @@ If nil, the feature is disabled, i.e., all commands work normally.")
 (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 @@ If nil, the feature is disabled, i.e., all commands work normally.")
         (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 @@ SPC to try the command just this once, but leave it disabled.
        (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)