From 258ab3bc882036e9b3d85d73d1f22bc29f42f979 Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Fri, 4 Oct 2013 15:06:45 -0400 Subject: [PATCH] * lisp/subr.el (read-passwd): Hide chars even when called within a context where after-change-functions is disabled. (set-temporary-overlay-map): Don't remove oneself from pre-command-hook until we removed ourself from overriding-terminal-local-map. Fixes: debbugs:15501 --- lisp/ChangeLog | 11 +++++++++-- lisp/subr.el | 18 ++++++++++-------- 2 files changed, 19 insertions(+), 10 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index bfa36ffe441..253f90278cd 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,7 +1,14 @@ +2013-10-04 Stefan Monnier + + * subr.el (read-passwd): Hide chars even when called within a context + where after-change-functions is disabled (bug#15501). + (set-temporary-overlay-map): Don't remove oneself from pre-command-hook + until we removed ourself from overriding-terminal-local-map. + 2013-10-04 Leo Liu - * progmodes/octave.el (inferior-octave-mode): Call - compilation-forget-errors. + * progmodes/octave.el (inferior-octave-mode): + Call compilation-forget-errors. 2013-10-04 Xue Fuqiao diff --git a/lisp/subr.el b/lisp/subr.el index ba953656b81..0d03e9a88c1 100644 --- a/lisp/subr.el +++ b/lisp/subr.el @@ -2104,6 +2104,7 @@ by doing (clear-string STRING)." (setq-local buffer-undo-list t) (setq-local select-active-regions nil) (use-local-map read-passwd-map) + (setq-local inhibit-modification-hooks nil) ;bug#15501. (add-hook 'after-change-functions hide-chars-fun nil 'local)) (unwind-protect (let ((enable-recursive-minibuffers t)) @@ -4394,14 +4395,15 @@ deactivation of MAP." ;; suspended during the C-u one so we don't exit isearch just ;; because we hit 1 after C-u and that 1 exits isearch whereas it ;; doesn't exit C-u. - (unless (cond ((null keep-pred) nil) - ((eq t keep-pred) - (eq this-command - (lookup-key map (this-command-keys-vector)))) - (t (funcall keep-pred))) - (remove-hook 'pre-command-hook clearfun) - (internal-pop-keymap map 'overriding-terminal-local-map) - (when on-exit (funcall on-exit))))) + (with-demoted-errors "set-temporary-overlay-map PCH: %S" + (unless (cond ((null keep-pred) nil) + ((eq t keep-pred) + (eq this-command + (lookup-key map (this-command-keys-vector)))) + (t (funcall keep-pred))) + (internal-pop-keymap map 'overriding-terminal-local-map) + (remove-hook 'pre-command-hook clearfun) + (when on-exit (funcall on-exit)))))) (add-hook 'pre-command-hook clearfun) (internal-push-keymap map 'overriding-terminal-local-map))) -- 2.39.2