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

From: Alan Mackenzie <[email-masked]>
Date: Thu, 25 Jan 2018 17:39:38 +0000

Hello, Juri.

On Tue, Jan 23, 2018 at 23:38:10 +0200, Juri Linkov wrote:
> Hi Alan,

> Do you agree we could remove the effect of
> with-silent-modifications around set-text-properties,
> and leave it only on remove-list-of-text-properties?
> This will help to fix the reported regression.

I'm not sure about this.  Doesn't `set-text-properties' need to be
"protected", too?

I'm not sure why you want to do this.  Why do you want to do this?

One thing which is puzzling me is that `with-silent-modifications' is a
macro which is defined in subr.el, but later in the file.  Won't this
invocation of w-s-m get compiled as a function call because of this?

> >>> Anyway, I bisected it for you, to
> >>> c5e89be20a3feba9c67be6855b1dbdc6d8ae5ce2

> >> Here's the discussion reference that should have been in the commit message:

> >> http://lists.gnu.org/r/emacs-devel/2015-04/msg00506.html

> > I confirm that after removing with-silent-modifications from
> > remove-yank-excluded-properties, C-y leaves ‘display’ properties
> > in the minibuffer.  It's ‘(inhibit-modification-hooks t)’ in
> > let-bind of with-silent-modifications that prevents read-passwd
> > from calling hide-chars-fun again to put new ‘display’ properties
> > after set-text-properties removes old ones.  So this patch should
> > fix this issue, but I'm not sure if this is right.

> > diff --git a/lisp/subr.el b/lisp/subr.el
> > index 092850a..8673547 100644
> > --- a/lisp/subr.el
> > +++ b/lisp/subr.el
> > @@ -3041,7 +3041,8 @@ remove-yank-excluded-properties
> >              (setq run-start run-end)))))
> >      (with-silent-modifications
> >        (if (eq yank-excluded-properties t)
> > -          (set-text-properties start end nil)
> > +          (let ((inhibit-modification-hooks nil))
> > +            (set-text-properties start end nil))
> >          (remove-list-of-text-properties start end yank-excluded-properties)))))

> >  (defvar yank-undo-function)

-- 
Alan Mackenzie (Nuremberg, Germany).