Subject: bug#30186: 27.0.50; Password is not hidden in read-passwd

From: Alan Mackenzie <[email-masked]>
Date: Sat, 27 Jan 2018 13:38:02 +0000

Hello, Eli and Juri.

On Sat, Jan 27, 2018 at 14:23:31 +0200, Eli Zaretskii wrote:
> > Date: Sat, 27 Jan 2018 11:37:13 +0000
> > Cc: [email-masked], [email-masked]
> > From: Alan Mackenzie <[email-masked]>

[ .... ]

> > So, I'm changing my mind, after looking into it a bit more.
> > Removing the with-silent-modifications from
> > remove-yank-excluded-properties would not slow down undo in CC Mode
> > buffers noticeably.

> So let's do that now.  I think the problem with read-passwd is a
> security issue, so it should go to emacs-26, do you agree?

Yes, i think it should go into emacs-26.

Juri, do you see any problem with just removing that
with-silent-modifications altogether?  I.e. this:

Allow read-passwd to hide characters inserted by C-y.  (Security fix.)

This fixes bug #30186.  The with-silent-modifications was there to prevent
records of text property manipulations being put into buffer-undo-list.  These
had been causing a significant slowdown in CC Mode with C-_ after a large
C-y.  This CC Mode problem has since been solved by a different workaround.

* lisp/subr.el (remove-yank-excluded-properties): Remove the invocation of
with-silent-modifications around the text property manipulations.

diff --git a/lisp/subr.el b/lisp/subr.el
index 052d9cd821..64cbbd52ab 100644
--- a/lisp/subr.el
+++ b/lisp/subr.el
@@ -3019,10 +3019,9 @@ remove-yank-excluded-properties
                           run-start prop nil end)))
             (funcall fun value run-start run-end)
             (setq run-start run-end)))))
-    (with-silent-modifications
-      (if (eq yank-excluded-properties t)
-          (set-text-properties start end nil)
-        (remove-list-of-text-properties start end yank-excluded-properties)))))
+    (if (eq yank-excluded-properties t)
+        (set-text-properties start end nil)
+      (remove-list-of-text-properties start end yank-excluded-properties))))
 
 (defvar yank-undo-function)

[ .... ]

-- 
Alan Mackenzie (Nuremberg, Germany).