From: Stefan Monnier Date: Wed, 19 Aug 2009 19:42:25 +0000 (+0000) Subject: (read-passwd): Use read-key so keypad keys work as well. X-Git-Tag: emacs-pretest-23.1.90~1780 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=4fd15622e64cceb41dab27e0ffcfdcb8c4090861;p=emacs.git (read-passwd): Use read-key so keypad keys work as well. --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 584cef20192..d8ffb2e9169 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,5 +1,7 @@ 2009-08-19 Stefan Monnier + * subr.el (read-passwd): Use read-key so keypad keys work as well. + * help.el (help-print-return-message): Rename from print-help-return-message. diff --git a/lisp/subr.el b/lisp/subr.el index 668b323fbc0..f2709f3b777 100644 --- a/lisp/subr.el +++ b/lisp/subr.el @@ -1905,10 +1905,7 @@ by doing (clear-string STRING)." (while (progn (message "%s%s" prompt (make-string (length pass) ?.)) - ;; We used to use read-char-exclusive, but that - ;; gives funny behavior when the user presses, - ;; e.g., the arrow keys. - (setq c (read-event nil t)) + (setq c (read-key)) (not (memq c stop-keys))) (clear-this-command-keys) (cond ((memq c rubout-keys) ; rubout @@ -1916,6 +1913,7 @@ by doing (clear-string STRING)." (let ((new-pass (substring pass 0 -1))) (and (arrayp pass) (clear-string pass)) (setq pass new-pass)))) + ((eq c ?\C-g) (keyboard-quit)) ((not (numberp c))) ((= c ?\C-u) ; kill line (and (arrayp pass) (clear-string pass))