From: Richard M. Stallman Date: Sun, 6 Mar 2005 18:29:10 +0000 (+0000) Subject: (disabled-command-function): Output in *Disabled Command*. X-Git-Tag: ttn-vms-21-2-B4~1930 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=72287c23ef993fc3248deba670da1bab4882f3f7;p=emacs.git (disabled-command-function): Output in *Disabled Command*. Explicitly ignore non-keyboard events, and explicitly handle C-g. --- diff --git a/lisp/novice.el b/lisp/novice.el index de92857980b..3e63f0a7bc6 100644 --- a/lisp/novice.el +++ b/lisp/novice.el @@ -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)