From: Glenn Morris Date: Sat, 6 Oct 2012 02:47:26 +0000 (-0700) Subject: * subr.el (read-passwd): Allow C-u to erase entry. X-Git-Tag: emacs-24.2.90~241^2 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=d5acb99a199d83cde1a43482709c3e9d4ec34b2f;p=emacs.git * subr.el (read-passwd): Allow C-u to erase entry. Fixes: debbugs:12570 --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 861022aae88..0d793285246 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,7 @@ +2012-10-06 Glenn Morris + + * subr.el (read-passwd): Allow C-u to erase entry. (Bug#12570) + 2012-10-06 Julian Scheid (tiny change) * color.el (color-hsl-to-rgb): Fix incorrect results for diff --git a/lisp/subr.el b/lisp/subr.el index b0ffb0db746..72bedc69c3c 100644 --- a/lisp/subr.el +++ b/lisp/subr.el @@ -2182,8 +2182,16 @@ by doing (clear-string STRING)." (set (make-local-variable 'post-self-insert-hook) nil) (add-hook 'after-change-functions hide-chars-fun nil 'local)) (unwind-protect - (let ((enable-recursive-minibuffers t)) - (read-string prompt nil t default)) ; t = "no history" + (let ((enable-recursive-minibuffers t) + (map minibuffer-local-map) + result) + (define-key map "\C-u" ; bug#12570 + (lambda () (interactive) (delete-minibuffer-contents))) + (setq result + ;; t = no history. + (read-from-minibuffer prompt nil map nil t default)) + (if (and (equal "" result) default) default + result)) (when (buffer-live-p minibuf) (with-current-buffer minibuf ;; Not sure why but it seems that there might be cases where the