* lisp/subr.el (read-passwd-map): New var.
(read-passwd): Use `read-string' again. * lisp/minibuffer.el (delete-minibuffer-contents): Make it interactive.
This commit is contained in:
parent
5694896dfc
commit
d39109c3e1
3 changed files with 17 additions and 11 deletions
|
@ -1,3 +1,9 @@
|
|||
2012-10-06 Stefan Monnier <monnier@iro.umontreal.ca>
|
||||
|
||||
* subr.el (read-passwd-map): New var.
|
||||
(read-passwd): Use `read-string' again.
|
||||
* minibuffer.el (delete-minibuffer-contents): Make it interactive.
|
||||
|
||||
2012-10-06 Jambunathan K <kjambunathan@gmail.com>
|
||||
|
||||
* register.el (append-to-register, prepend-to-register):
|
||||
|
|
|
@ -632,6 +632,7 @@ That is what completion commands operate on."
|
|||
(defun delete-minibuffer-contents ()
|
||||
"Delete all user input in a minibuffer.
|
||||
If the current buffer is not a minibuffer, erase its entire contents."
|
||||
(interactive)
|
||||
;; We used to do `delete-field' here, but when file name shadowing
|
||||
;; is on, the field doesn't cover the entire minibuffer contents.
|
||||
(delete-region (minibuffer-prompt-end) (point-max)))
|
||||
|
|
21
lisp/subr.el
21
lisp/subr.el
|
@ -2143,6 +2143,13 @@ any other non-digit terminates the character code and is then used as input."))
|
|||
(setq first nil))
|
||||
code))
|
||||
|
||||
(defconst read-passwd-map
|
||||
(let ((map (make-sparse-keymap)))
|
||||
(set-keymap-parent map minibuffer-local-map)
|
||||
(define-key map "\C-u" #'delete-minibuffer-contents) ;bug#12570
|
||||
map)
|
||||
"Keymap used while reading passwords.")
|
||||
|
||||
(defun read-passwd (prompt &optional confirm default)
|
||||
"Read a password, prompting with PROMPT, and return it.
|
||||
If optional CONFIRM is non-nil, read the password twice to make sure.
|
||||
|
@ -2180,19 +2187,11 @@ by doing (clear-string STRING)."
|
|||
(setq minibuf (current-buffer))
|
||||
;; Turn off electricity.
|
||||
(set (make-local-variable 'post-self-insert-hook) nil)
|
||||
(use-local-map read-passwd-map)
|
||||
(add-hook 'after-change-functions hide-chars-fun nil 'local))
|
||||
(unwind-protect
|
||||
(let ((enable-recursive-minibuffers t)
|
||||
(map (make-sparse-keymap))
|
||||
result)
|
||||
(set-keymap-parent map minibuffer-local-map)
|
||||
(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))
|
||||
(let ((enable-recursive-minibuffers t))
|
||||
(read-string prompt nil t default)) ; t = "no history"
|
||||
(when (buffer-live-p minibuf)
|
||||
(with-current-buffer minibuf
|
||||
;; Not sure why but it seems that there might be cases where the
|
||||
|
|
Loading…
Add table
Reference in a new issue