GNU bug report logs - #80838
31.0.50; `read-passwd' password visible after returning from recursive minibuffer

Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.

Package: emacs; Reported by: समीर सिंह Sameer Singh <lumarzeli30@HIDDEN>; dated Thu, 16 Apr 2026 08:38:07 UTC; Maintainer for emacs is bug-gnu-emacs@HIDDEN.

Message received at 80838 <at> debbugs.gnu.org:


Received: (at 80838) by debbugs.gnu.org; 30 Apr 2026 11:18:22 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Apr 30 07:18:21 2026
Received: from localhost ([127.0.0.1]:54576 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1wIPPR-00024c-FK
	for submit <at> debbugs.gnu.org; Thu, 30 Apr 2026 07:18:21 -0400
Received: from flow-a1-smtp.messagingengine.com ([103.168.172.136]:43317)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <spwhitton@HIDDEN>)
 id 1wIPPQ-00023g-0k
 for 80838 <at> debbugs.gnu.org; Thu, 30 Apr 2026 07:18:20 -0400
Received: from phl-compute-05.internal (phl-compute-05.internal [10.202.2.45])
 by mailflow.phl.internal (Postfix) with ESMTP id D0AAE1380085;
 Thu, 30 Apr 2026 07:18:14 -0400 (EDT)
Received: from phl-frontend-04 ([10.202.2.163])
 by phl-compute-05.internal (MEProxy); Thu, 30 Apr 2026 07:18:14 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=spwhitton.name;
 h=cc:cc:content-transfer-encoding:content-type:content-type
 :date:date:from:from:in-reply-to:in-reply-to:message-id
 :mime-version:references:reply-to:subject:subject:to:to; s=fm1;
 t=1777547894; x=1777551494; bh=Fj4Sr8yn0mqAePqnXjXxsYMbaxhaLMmq
 bERNuDqRcsE=; b=mV9PUkbovpT+3SkcZO/ff7MIci8FSP9OrWEMNS3SwbhaOcVE
 0Igg+7bwt7f9HMR//RPzGaSOohOW+iZmBO/mxG0orWEa5DT0tCKy0BSvfCY+jQHv
 bhjO8tnz8uWJnMGOsA0IGxAFz6LFqG7xFAqiGS6Wzb2DhpQNVjruCwb1uE8J6ZuP
 1Mark6LJB5uZzVicDNTNqxvieVOyBZvcHxjjfcraCbctGQUn2iBC1UVr+yQdHeH+
 DOaKyHvfHVzQnMLrlW1l0fSZ5CS7ELGqlFNYg/dc8U3kK42kU1ATfCRe5qvdjmQ7
 JVUkUzhKKL61zexi74R0CkRhZGwyOk9JM3TA5g==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
 messagingengine.com; h=cc:cc:content-transfer-encoding
 :content-type:content-type:date:date:feedback-id:feedback-id
 :from:from:in-reply-to:in-reply-to:message-id:mime-version
 :references:reply-to:subject:subject:to:to:x-me-proxy
 :x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t=1777547894; x=
 1777551494; bh=Fj4Sr8yn0mqAePqnXjXxsYMbaxhaLMmqbERNuDqRcsE=; b=l
 yFGwWWWb153Qf1nGpcpUMvumkpfpForiynEWj9rXGH2yTgVKlpurN6M0sEqEB/QC
 fUBK7iW/QWHh9FFcb9krqloaFsL3AAcroE3siOp+4xp2cmPdxE3Tid2caNn5BLbX
 FwJLHkwf5la7S4KIoyh1NsXyI9nHdzC2dazN1BChDNmS0dSayXS21w3tZo+KZeSH
 3UE+YCRFRzZ0qNP9fQTb1sG0oYR0GN3VSO32p5kL9HSwb+NfbSyJBrd2YzCS6wFo
 JDKedlp1YSWGklTjq4dZxtz5ntRyz5DEyRxZL5mM3zspbyR3bBcIjFhSp3QPtU1C
 fE3aZFCwyuoLvulaoDoXg==
X-ME-Sender: <xms:djrzabZ1dsi714tYGNo-XL6T-1555l0LO1P-NbISACWb3bPAZolRhw>
 <xme:djrzaRSJJjuSfXT529OE9Z84iu9qw-L_6aP5E7ryV6ZXnWY3pHQAIsORQ62B5cBT7
 xa7VbjvpqQILLxcT8crKKyhYgqUkfXaWrTL7TGJUb0TUoH3P6paawI>
X-ME-Received: <xmr:djrzaWToEigOv61QJ1YvSECaBL8qJ4ilLIi3TGtlgjZ2dtZgLo6ws27QNNFzs3KPSVv3bsfkOa7I>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefhedrtddtgdekjedukecutefuodetggdotefrod
 ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpuffrtefokffrpgfnqfghnecuuegr
 ihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenucfjug
 hrpefhvfevufgjfhffkfggtgfgsehtqhdttddttdejnecuhfhrohhmpefuvggrnhcuhghh
 ihhtthhonhcuoehsphifhhhithhtohhnsehsphifhhhithhtohhnrdhnrghmvgeqnecugg
 ftrfgrthhtvghrnhepueeileetkeeljeeiteekkeefuedutddvjefgkedvgeekveehhefg
 geetffeftdeinecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrh
 homhepshhpfihhihhtthhonhesshhpfihhihhtthhonhdrnhgrmhgvpdhnsggprhgtphht
 thhopeehpdhmohguvgepshhmthhpohhuthdprhgtphhtthhopeektdekfeekseguvggssg
 hughhsrdhgnhhurdhorhhgpdhrtghpthhtoheplhhumhgrrhiivghliheftdesghhmrghi
 lhdrtghomhdprhgtphhtthhopehsthgvphhhvghnrdgsvghrmhgrnhesghhmgidrnhgvth
 dprhgtphhtthhopegvlhhiiiesghhnuhdrohhrghdprhgtphhtthhopehpihhptggvthes
 phhrohhtohhnmhgrihhlrdgtohhm
X-ME-Proxy: <xmx:djrzadT0p4ZAFJDzdh0Z78r8fOugMcDwTU58UvxxslNHN_yeCx9o5w>
 <xmx:djrzaT5z__syQ4CtZd28CCu3pnjVWycKHNHFlWg04TEl21Ep2vTW-g>
 <xmx:djrzaR0fctLHVQWUAHXZp8HGdmJ2f2smrEtc2Ok6nMEeVZOSLwMXJw>
 <xmx:djrzaWCVgE3yJMAyeyWLA2pLCIuDVClCJhgy7uGxFLhFEFwR87yFEg>
 <xmx:djrzafE4UNPNijDdQ6Kxp9QeLO--KEoAVOAXj6HWFdMnvwDhMZG7cJFW>
Feedback-ID: i62564b17:Fastmail
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu,
 30 Apr 2026 07:18:14 -0400 (EDT)
Received: by melete.silentflame.com (Postfix, from userid 1000)
 id 684747E1B71; Thu, 30 Apr 2026 12:18:10 +0100 (BST)
From: Sean Whitton <spwhitton@HIDDEN>
To: =?utf-8?B?4KS44KSu4KWA4KSwIOCkuOCkv+CkguCkuSBTYW1lZXIgU2luZ2g=?=
 <lumarzeli30@HIDDEN>, Pip Cet
 <pipcet@HIDDEN>, Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#80838: 31.0.50; `read-passwd' password visible after
 returning from recursive minibuffer
In-Reply-To: <CAOR1sLwbMXj-eStyvZwUXVaWfAyJ5uktsmRfFEEEc40mzRDeng@HIDDEN>
References: <CAOR1sLyP2K-QD5NEyafwvv2CLKZps9EUkXMGKtr-JbkMjq7P7g@HIDDEN>
 <CAOR1sLyzyoG6YZJ-O2VvRr96P_jyy9mcVBVJO8tKusmbiKdPCA@HIDDEN>
 <87y0iliw9j.fsf@HIDDEN>
 <CAOR1sLzqfGDh_F0ecwdd6uxdDWy2UCeogug7ODn+ovokNwq4rw@HIDDEN>
 <87fr4t8te2.fsf@HIDDEN>
 <CAOR1sLxhOWdif1nWbaEjMW7Fa_ogGFNMSeBWrrUKCmyOvKCGZQ@HIDDEN>
 <87mrz1i8dt.fsf@HIDDEN> <86tst8ivz1.fsf@HIDDEN>
 <87340s8mxh.fsf@HIDDEN>
 <CAOR1sLz2Kj0aPwdf1V7F_WPQc0sQGAD19nMoHfEHa=HRfFTy+Q@HIDDEN>
 <CAOR1sLwbMXj-eStyvZwUXVaWfAyJ5uktsmRfFEEEc40mzRDeng@HIDDEN>
Date: Thu, 30 Apr 2026 12:18:10 +0100
Message-ID: <87ik98hf2l.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 80838
Cc: Stephen Berman <stephen.berman@HIDDEN>, 80838 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

=E0=A4=B8=E0=A4=AE=E0=A5=80=E0=A4=B0 =E0=A4=B8=E0=A4=BF=E0=A4=82=E0=A4=B9 S=
ameer Singh [26/Apr  2:50am -04] wrote:
> Hi, if there is nothing wrong with the patch, then can it get merged?
> Thanks.

Pip, can you take a look?

--=20
Sean Whitton




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#80838; Package emacs. Full text available.

Message received at 80838 <at> debbugs.gnu.org:


Received: (at 80838) by debbugs.gnu.org; 26 Apr 2026 06:50:59 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Apr 26 02:50:59 2026
Received: from localhost ([127.0.0.1]:50609 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1wGtKT-00012Z-FQ
	for submit <at> debbugs.gnu.org; Sun, 26 Apr 2026 02:50:58 -0400
Received: from mail-ej1-x62c.google.com ([2a00:1450:4864:20::62c]:48374)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <lumarzeli30@HIDDEN>)
 id 1wGtKN-00011M-UU
 for 80838 <at> debbugs.gnu.org; Sun, 26 Apr 2026 02:50:55 -0400
Received: by mail-ej1-x62c.google.com with SMTP id
 a640c23a62f3a-ba8472c1613so1241151266b.0
 for <80838 <at> debbugs.gnu.org>; Sat, 25 Apr 2026 23:50:51 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; t=1777186250; cv=none;
 d=google.com; s=arc-20240605;
 b=gWOYgTFy+t8ZG9LGccry+PnnqbXpEhwAlOqjlmfhW9irbCf/ac08SKYW8Xys6QnycA
 AUeR7TJ6DXC0AJC3HqFQpZ9B6WHtSzXjNME86y3Kd3QX3Ye29ZvuMw9VapCUmm4gteus
 nn1S+7pFewW0AGUe4QUP/VRXJ0HB5OwVwF5zpmxXTiXa3B5xfxzDi9SbgKIxp246gXgD
 LUTf/EncIz1DFwh/EtNZg9l2P9Pct5xhct1F2HEE7NdIYXivmSfaVK5/lOf/gU3eUkDx
 hT4cJu024hb/sSaEuvOD3LCiLqSZSlGV++Ksz4E1CGTA0q2STmTQW2HHGzGc0nz2tczb
 xufw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com;
 s=arc-20240605; 
 h=content-transfer-encoding:cc:to:subject:message-id:date
 :mime-version:references:in-reply-to:from:dkim-signature;
 bh=PnRa2w9BtJKxC8NSNuh2ln5nIrhp4KYyiH45MpoFw9c=;
 fh=HQJpAYNgTvCxTl3/Yg6NsYZeYe6i0CpLB8UgR9N6jeo=;
 b=Qyp7fCrnN9rrECv84rwCBG/oVpQh+cgA9qFjQ9ckuWRwscKrgM0ACEeCwlDBhWSQZs
 z9NodOiuDmFkEcPwGVE++tpKR2gNkbp3NOmfjseDD9CFWfpFDoTIQx3/Ym65rBEvcrus
 PTblCnogiIJJt6uNd/XydYpTgHjPQSNjwUJmDwdLpDW7g5AhGwjHh2DN9wr28Lk1RdTs
 //6mZhV5RT7VL7vZ2v6ZHEsZYZq8+SkRogw1hKlqkgIyW4f4ipfhyzZ5lDBeZAdlvpAW
 PG1yscDX/FU2icaTquvVo23yp0H3FeRrDfzXWsgpvQpK4yaANwFn5I6suKTt1/DGPrSy
 5NAg==; darn=debbugs.gnu.org
ARC-Authentication-Results: i=1; mx.google.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20251104; t=1777186250; x=1777791050; darn=debbugs.gnu.org;
 h=content-transfer-encoding:cc:to:subject:message-id:date
 :mime-version:references:in-reply-to:from:from:to:cc:subject:date
 :message-id:reply-to;
 bh=PnRa2w9BtJKxC8NSNuh2ln5nIrhp4KYyiH45MpoFw9c=;
 b=e7+NF4IgmhDaEI9QDwHgddHsw944xDXVWg/tGrtyWMaXUtB7t6WwGm+wl1kzmMGo9A
 5Z+yhlX+pgT//4k7aW/qzK/jODMDV99mIWM0z407+9VLPL0tnQvq5mG0edzv81AHAgge
 w9qMMwGPSrHTSgZnB0IcUUbA1WNZM1BASxco8H4WST29qXKlShWIoRhsAbLpkl4RJbYg
 meV0MQL8g8QMXQSGb8dI7HdKeowXp1ZcYpbu4EjZ03FNT4ek6K8Z9QvsTaMMu8TuaDrR
 HSO3xYdWnp2GmcZUKe1Xm/KfcA+Hi2yN4OjHasrDhjHAxfGFCQwaXzOJhxaYc57tlHzZ
 AbZg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20251104; t=1777186250; x=1777791050;
 h=content-transfer-encoding:cc:to:subject:message-id:date
 :mime-version:references:in-reply-to:from:x-gm-gg:x-gm-message-state
 :from:to:cc:subject:date:message-id:reply-to;
 bh=PnRa2w9BtJKxC8NSNuh2ln5nIrhp4KYyiH45MpoFw9c=;
 b=a7xg3lAKJU8KcfCNRHxG7ySMpxMk3prD/IYask8xdiWq8O7N+bseJ4lrvesBZ4NwBf
 n1VbecgqrCod2xo6Uj0jpgoP4omwRTCEYTBLEmMzuNiV421juEAAOeh2r1uUas6qLlNA
 B8nYhGwyogYWY+kFTYS75iz1IDueXp7/p4rFiTBN+VjrTQrQfn+RTMBp8kcJyWRfGpAJ
 z6VeNdzs9l9K6ntFNvb3KBvZmxLMPPGx6if4D5Y9y5xpvdDwx9AvLe54ThCayLDPi8+E
 BbiQ3rQmPxGsd4FGiwcZ5NLx60NZb16/vFCBiQxsatP5Y+gdQKKZ0ezLElJP786Yw7wC
 2NoA==
X-Forwarded-Encrypted: i=1;
 AFNElJ9oyMx5RAl8H6BJ3LOUL+VJT1x4mo8NeFuoDPxMHNasaIzPLYN39ZONqlnTE6dFbA1ENtV7AA==@debbugs.gnu.org
X-Gm-Message-State: AOJu0Yxpa7AAzKYBTWvSvtfbAHBob34iNeMVTW49DzebrK/j5Z81HxgQ
 EOYaihmQs2PtULhNgfkwApfy+7f/GifGshev4Oi5iNc2VKcNe6zXlFd0wXIlHibLsBRnt0djcLR
 MXgOxULbnK21oiuG4fERuDPLrLoAZ2vg=
X-Gm-Gg: AeBDieu90LFAIYNQ/qPsMPk/jkqqBAz/BlnerTMOZnY8Z2BA6Qm9ab6uVogje4h8qM7
 dwZi/yFQzJLrvFn7+VPfaYIQl3S74jmLEBGAtE3LnI8hCNIaKVX3r0ZSYtgJY66IYt9lolHVqyj
 5dqPWu6I/ffnoEdFHPomsU86E6FeYfmgZinMrJuCtEBJrlQqLkO8NkCDMCfRgmnYxZC4SNSTX+7
 SW2YACax75ybehsHF6gAGP1/JTQaXqr8Yf4kQMcAkTFqQGk5jF+YBxk7Ccg/b/Nywmensph8NjQ
 GbilDOfMjU01uTlRvc/gDll0EnWn9k3MFk+IFlwnQez5kVpvyO8=
X-Received: by 2002:a17:906:eec7:b0:bab:d909:b89d with SMTP id
 a640c23a62f3a-babd909bd4fmr767642966b.26.1777186249835; Sat, 25 Apr 2026
 23:50:49 -0700 (PDT)
Received: from 753933720722 named unknown by gmailapi.google.com with
 HTTPREST; Sun, 26 Apr 2026 02:50:49 -0400
Received: from 753933720722 named unknown by gmailapi.google.com with
 HTTPREST; Sun, 26 Apr 2026 02:50:49 -0400
From: =?UTF-8?B?4KS44KSu4KWA4KSwIOCkuOCkv+CkguCkuSBTYW1lZXIgU2luZ2g=?=
 <lumarzeli30@HIDDEN>
In-Reply-To: <CAOR1sLz2Kj0aPwdf1V7F_WPQc0sQGAD19nMoHfEHa=HRfFTy+Q@HIDDEN>
References: <CAOR1sLyP2K-QD5NEyafwvv2CLKZps9EUkXMGKtr-JbkMjq7P7g@HIDDEN>
 <CAOR1sLyzyoG6YZJ-O2VvRr96P_jyy9mcVBVJO8tKusmbiKdPCA@HIDDEN>
 <87y0iliw9j.fsf@HIDDEN>
 <CAOR1sLzqfGDh_F0ecwdd6uxdDWy2UCeogug7ODn+ovokNwq4rw@HIDDEN>
 <87fr4t8te2.fsf@HIDDEN>
 <CAOR1sLxhOWdif1nWbaEjMW7Fa_ogGFNMSeBWrrUKCmyOvKCGZQ@HIDDEN>
 <87mrz1i8dt.fsf@HIDDEN> <86tst8ivz1.fsf@HIDDEN>
 <87340s8mxh.fsf@HIDDEN>
 <CAOR1sLz2Kj0aPwdf1V7F_WPQc0sQGAD19nMoHfEHa=HRfFTy+Q@HIDDEN>
MIME-Version: 1.0
Date: Sun, 26 Apr 2026 02:50:49 -0400
X-Gm-Features: AVHnY4LPHC-MTjYJSn6AFqL-0aMrGP-vqyZpl4z1ureKfioFi2CdRh9mpByZmnU
Message-ID: <CAOR1sLwbMXj-eStyvZwUXVaWfAyJ5uktsmRfFEEEc40mzRDeng@HIDDEN>
Subject: Re: bug#80838: 31.0.50; `read-passwd' password visible after
 returning from recursive minibuffer
To: Pip Cet <pipcet@HIDDEN>, Eli Zaretskii <eliz@HIDDEN>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 1.3 (+)
X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org",
 has NOT identified this incoming email as spam.  The original
 message has been attached to this so you can view it or label
 similar future email.  If you have any questions, see
 the administrator of that system for details.
 Content preview:  > Pip Cet writes: > >> "Eli Zaretskii" writes: >> >>>> Cc:
 Pip Cet , 80838 <at> debbugs.gnu.org >>>> Date: Fri, 17 Apr 2026 23:28:46 +0200
 >>>> From: Stephen Berman via "Bug reports for GNU Emacs, >>> [...] 
 Content analysis details:   (1.3 points, 10.0 required)
 pts rule name              description
 ---- ---------------------- --------------------------------------------------
 0.0 SPF_HELO_NONE          SPF: HELO does not publish an SPF Record
 0.0 FREEMAIL_FROM          Sender email is commonly abused enduser mail
 provider (lumarzeli30[at]gmail.com)
 0.2 FREEMAIL_ENVFROM_END_DIGIT Envelope-from freemail username ends
 in digit (lumarzeli30[at]gmail.com)
 -0.0 SPF_PASS               SPF: sender matches SPF record
 1.0 FORGED_GMAIL_RCVD      'From' gmail.com does not match 'Received'
 headers
 -0.0 RCVD_IN_DNSWL_NONE     RBL: Sender listed at https://www.dnswl.org/,
 no trust [2a00:1450:4864:20:0:0:0:62c listed in]
 [list.dnswl.org]
 0.0 UNPARSEABLE_RELAY      Informational: message has unparseable relay
 lines
X-Debbugs-Envelope-To: 80838
Cc: Stephen Berman <stephen.berman@HIDDEN>, 80838 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: 0.3 (/)

> Pip Cet <pipcet@HIDDEN> writes:
>
>> "Eli Zaretskii" <eliz@HIDDEN> writes:
>>
>>>> Cc: Pip Cet <pipcet@HIDDEN>, 80838 <at> debbugs.gnu.org
>>>> Date: Fri, 17 Apr 2026 23:28:46 +0200
>>>> From:  Stephen Berman via "Bug reports for GNU Emacs,
>>>>  the Swiss army knife of text editors" <bug-gnu-emacs@HIDDEN>
>>>>
>>>> >> diff --git a/lisp/auth-source.el b/lisp/auth-source.el
>>>> >> index 6cdea11c1ee..5b8e40e9a94 100644
>>>> >> --- a/lisp/auth-source.el
>>>> >> +++ b/lisp/auth-source.el
>>>> >> @@ -2602,7 +2602,7 @@ read-passwd--hide-password-icon
>>>> >>  (defvar read-passwd--mode-line-icon nil
>>>> >>    "Propertized mode line icon for showing/hiding passwords.")
>>>> >>
>>>> >> -(defvar read-passwd--hide-password t
>>>> >> +(defvar-local read-passwd--hide-password t
>>>> >>    "Toggle whether password should be hidden in minibuffer.")
>>>> >>
>>>> >>  (defun read-passwd--hide-password ()
>>>>
>>>> This is an excellent example of why I regret not being as talented at
>>>> finding simple good solutions as I am at pursuing complicated dead end=
s.
>>>
>>> I think we need both in this case.
>>
>> I'm not sure we want read-passwd state to be local at all. Erring on the
>> side of hiding passwords seems comparatively harmless to me, while the
>> complication of multiple "reveal password" icons for different nested
>> minibuffers could easily result in displaying passwords that are meant
>> to remain secret.
>>
>> So I'd like to suggest this, which is closer to Stephen's approach: we
>> only ever display a single icon, and if we enter or leave a password
>> prompt, we hide the password.
>>
>> The main difference is we keep the nested buffers in a list rather than
>> remembering their depth, which I think should help us avoid trouble when
>> more than two minibuffers are reading passwords.
>>
>> From 6d8f987e2ddca1dc7c159dd4e5c72c76c35de254 Mon Sep 17 00:00:00 2001
>> From: Pip Cet <pipcet@HIDDEN>
>> Date: Sat, 18 Apr 2026 07:34:45 +0000
>> Subject: [PATCH] Fix nested read-passwd calls (bug#80838)
>>
>> * lisp/auth-source.el (read-passwd--hide-password): Change default
>> value, which is unused.
>> (read-passwd-toggle-visibility): Add optional FORCE argument.
>> (read-passwd--mini-buffers): New variable.
>> (read-passwd-mode): Don't modify mode line when nested.  Hide password
>> when returning to nested minibuffer.
>> ---
>>  lisp/auth-source.el | 42 +++++++++++++++++++++++++-----------------
>>  1 file changed, 25 insertions(+), 17 deletions(-)
>>
>> diff --git a/lisp/auth-source.el b/lisp/auth-source.el
>> index 6cdea11c1ee..45eeeb447b0 100644
>> --- a/lisp/auth-source.el
>> +++ b/lisp/auth-source.el
>> @@ -2602,7 +2602,7 @@ read-passwd--hide-password-icon
>>  (defvar read-passwd--mode-line-icon nil
>>    "Propertized mode line icon for showing/hiding passwords.")
>>
>> -(defvar read-passwd--hide-password t
>> +(defvar read-passwd--hide-password nil
>>    "Toggle whether password should be hidden in minibuffer.")
>>
>>  (defun read-passwd--hide-password ()
>> @@ -2617,7 +2617,7 @@ read-passwd--hide-password
>>         (+ i beg) (+ 1 i beg)
>>         'help-echo "C-u: Clear password\nTAB: Toggle password visibility=
"))))
>>
>> -(defun read-passwd-toggle-visibility ()
>> +(defun read-passwd-toggle-visibility (&optional force)
>>    "Toggle minibuffer contents visibility.
>>  Adapt also mode line."
>>    (interactive)
>> @@ -2627,7 +2627,8 @@ read-passwd-toggle-visibility
>>      ;; mini-buffer.
>>      (with-current-buffer (window-buffer win)
>>        (when (memq 'read-passwd-mode local-minor-modes)
>> -        (setq read-passwd--hide-password (not read-passwd--hide-passwor=
d))
>> +        (setq read-passwd--hide-password
>> +              (or force (not read-passwd--hide-password)))
>>          (setq read-passwd--mode-line-icon
>>                `(:propertize
>>                  ,(if icon-preference
>> @@ -2652,6 +2653,9 @@ read-passwd-map
>>    "C-u" #'delete-minibuffer-contents ;bug#12570
>>    "TAB" #'read-passwd-toggle-visibility)
>>
>> +(defvar read-passwd--mini-buffers nil
>> +  "Internal.  List of minibuffers where `read-passwd' is active.")
>> +
>>  (define-minor-mode read-passwd-mode
>>    "Toggle visibility of password in minibuffer."
>>    :group 'mode-line
>> @@ -2659,21 +2663,25 @@ read-passwd-mode
>>    :keymap read-passwd-map
>>    :version "30.1"
>>
>> -  (setq read-passwd--hide-password nil)
>> -  (or global-mode-string (setq global-mode-string '("")))
>> -
>> -  (let ((mode-string '(:eval read-passwd--mode-line-icon)))
>> -    (if read-passwd-mode
>> -        ;; Add `read-passwd--mode-line-icon'.
>> -        (or (member mode-string global-mode-string)
>> -            (setq global-mode-string
>> -	          (append global-mode-string (list mode-string))))
>> -      ;; Remove `read-passwd--mode-line-icon'.
>> -      (setq global-mode-string
>> -	    (delete mode-string global-mode-string))))
>> -
>> +  (unless read-passwd-mode
>> +    (setq read-passwd--mini-buffers
>> +          (delq (current-buffer) read-passwd--mini-buffers)))
>> +  (unless read-passwd--mini-buffers
>> +    (let ((mode-string '(:eval read-passwd--mode-line-icon)))
>> +      (if read-passwd-mode
>> +          ;; Add `read-passwd--mode-line-icon'.
>> +          (or (member mode-string global-mode-string)
>> +              (setq global-mode-string
>> +	            (append global-mode-string (list mode-string))))
>> +        ;; Remove `read-passwd--mode-line-icon'.
>> +        (setq global-mode-string
>> +	      (delete mode-string global-mode-string)))))
>>    (when read-passwd-mode
>> -    (read-passwd-toggle-visibility)))
>> +    (push (current-buffer) read-passwd--mini-buffers))
>> +  ;; Always hide the current password.
>> +  (when read-passwd--mini-buffers
>> +    (with-current-buffer (car read-passwd--mini-buffers)
>> +      (read-passwd-toggle-visibility t))))
>>
>>  (defvar overriding-text-conversion-style)
>>
>> --
>> 2.53.0
>>
>
> Thanks, this patch also works.
>
> --
> =E0=A4=B8=E0=A4=AE=E0=A5=80=E0=A4=B0=E0=A4=B8=E0=A4=BF=E0=A4=82=E0=A4=B9

Hi, if there is nothing wrong with the patch, then can it get merged?
Thanks.

--=20
=E0=A4=B8=E0=A4=AE=E0=A5=80=E0=A4=B0=E0=A4=B8=E0=A4=BF=E0=A4=82=E0=A4=B9




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#80838; Package emacs. Full text available.

Message received at 80838 <at> debbugs.gnu.org:


Received: (at 80838) by debbugs.gnu.org; 18 Apr 2026 14:32:01 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Apr 18 10:32:00 2026
Received: from localhost ([127.0.0.1]:51881 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1wE6iG-0002YE-9h
	for submit <at> debbugs.gnu.org; Sat, 18 Apr 2026 10:32:00 -0400
Received: from mail-ej1-x62e.google.com ([2a00:1450:4864:20::62e]:50285)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <lumarzeli30@HIDDEN>)
 id 1wE6iC-0002Xt-Jk
 for 80838 <at> debbugs.gnu.org; Sat, 18 Apr 2026 10:31:57 -0400
Received: by mail-ej1-x62e.google.com with SMTP id
 a640c23a62f3a-b8f9568e074so292495066b.0
 for <80838 <at> debbugs.gnu.org>; Sat, 18 Apr 2026 07:31:56 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; t=1776522715; cv=none;
 d=google.com; s=arc-20240605;
 b=KpLFlaEMF8nV80n8GRhlFgs2vtNPBy7geaJoocCa8KuqkoAMZDmuIMVLMeNvNrFokl
 g3P/nlScybTLo/hWyaBSKG1aM7ZsOUy2+Fr6n6PR/zhVci6m3qyP3wqNRR/vbTWIAmyR
 Jqh85BNnNqYShUM7fzEByg/xf4JRoErvAFQ3mZGPMbj7ffFYXWNxozk6rgePRar+rX8f
 X2Zga3LZ9tssGIevmePvM7aFVz0EUkt3vvF6nNySbyVZevwsbMqVsC+w9VeORg14g+HK
 8Qt9Ju+0yW9MuhEepojSkouCAJE9SREdIbErqsIEX1e48kXba64o1ybR2r59uzXN8X3O
 g5KA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com;
 s=arc-20240605; 
 h=content-transfer-encoding:cc:to:subject:message-id:date
 :mime-version:references:in-reply-to:from:dkim-signature;
 bh=IQ1auO9OQkSs2pZBHi3FEFn1X98Spu7YzUliBb0ofcU=;
 fh=xUJqPajd5N+aKRpNYuln78E/0V+LjSWZe5kqv9lKx3c=;
 b=R6NwQw9FR63JAfU+0/gJq9b6l3d4LFZUdpKGOfskdLLvDgxyfNAJOL6vfAA0bjMyKt
 +KUQP+1Uz6bXpdYL441WsGMxnoqS0JCxlaRoMWasdj73myolFAuFia2yFJSR6Xyk21Z1
 /jpC1U17j3WoxbV80b47z4hM9lFdByfaPmdcV7SEu+ZJxRtllkygFSIoHSn3luthZ3He
 1fHx+fTELgIkEXFiw6akR37cDFNntQTRYOSMcJnRNeTEo6i2jNnICNJ57sOuVsj/1bhv
 kh9oJpcClmgvn9AAHwGAHU/d9cetaXdAOmCHv08idJZ3gjY9isf4xTNusSKrkwaixVZa
 KkcQ==; darn=debbugs.gnu.org
ARC-Authentication-Results: i=1; mx.google.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20251104; t=1776522715; x=1777127515; darn=debbugs.gnu.org;
 h=content-transfer-encoding:cc:to:subject:message-id:date
 :mime-version:references:in-reply-to:from:from:to:cc:subject:date
 :message-id:reply-to;
 bh=IQ1auO9OQkSs2pZBHi3FEFn1X98Spu7YzUliBb0ofcU=;
 b=RaL4WHoHJJHeMV8b9HzD7E7VAoOssW/xAOvg1hlgFf8uQrCXkFbSXNKp4Ffp8wvD0E
 B+KEh/9/pxF123PN80bVkC9etmfPQTlGsFb21dgZ0dyLwTZaea+hJDlzUIovom86aKMZ
 70TVQIXlc22HqLc+vo7BMJpaJvkO7XH8yXh8w1dtm10xevfoesb8N4pH2Wn4rq5zix4Z
 nrDEQoDZQ8q7INk2JhBzwYn1DCGS0zLgY4MaCo4M3w703WfzeD5Vc46eieeABHAzcBFt
 AM33FDT11qTac/gGUQjHG+lD/50Day/PJcxY9oe9CLEAhkN+IiDRvnlMUw4K/Tyv63n9
 2r0A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20251104; t=1776522715; x=1777127515;
 h=content-transfer-encoding:cc:to:subject:message-id:date
 :mime-version:references:in-reply-to:from:x-gm-gg:x-gm-message-state
 :from:to:cc:subject:date:message-id:reply-to;
 bh=IQ1auO9OQkSs2pZBHi3FEFn1X98Spu7YzUliBb0ofcU=;
 b=NyotXU0Nmfu0nJquyq5JNpsf9meU1IhndL/dDN4gV31BB9H+h4TZKYBu8uUC2Wkuph
 5v8MZty4ivQoE6kyhtSm0+CLHuWMmHvqi+AZTkKOiGctchyZ3fCFsCrQBnz79HJ90DLg
 x9BjtL87+g7IvoPwUwXmzyngS1ZXubAkOLUShrRswKxXa3N4SP7bvwXdab8NZGGAO715
 ZBrwswfMJCBUpKMwiutcB7jzqQYaYspQDWlwh72yeg0MGvKJCDq7ll/ola/Cnn0cvDKJ
 MvmSW24QNNy+KiF7eMFHEzpJFH9/Lso2xT0wP0D1FnEh9yKNllU5n4aOyei5ho1J9HFF
 YVXQ==
X-Forwarded-Encrypted: i=1;
 AFNElJ980D5iexBXnC0eVGcL2TzUC8zw491vszbnOKXszdSIUQIzRp3eydH6ZpALSQXg5TJec68PIg==@debbugs.gnu.org
X-Gm-Message-State: AOJu0YzY2vlZQpY2rzsjkqNEKpJADsPGBXIVkBHY5O1M8E3yO+5QnJQw
 d9eh5tS5dVzXtYrLB8iaDeFK2DOj1kfap849JY0m09B2h1k17I48W40MwljQGtI0RVexyqpcmWW
 SvywoRdj6pEoPWrcXFIZUygd1zs8w37w=
X-Gm-Gg: AeBDieuuaZilG3cNqhkRhhGaZUNX/3uD18H4f1SgFhTmXafkj3xLlSOGPHH36Zt2F1S
 zf+3Zhu6VI7r92Gp/7+dAG4ZuoKTGtN+vMNrHRCZegCXwfNji3Tts62NXvpuuaitqbxJezW8V/m
 gNv1rAlfMl+oveBQ6LKN0lxcscqVVdW6r3wqlnxRkJayM4DZVbQml/yh+4c6Kej6POxIKbo1JZp
 /glXS11WQ9FBAmASQWzwfWGkLDC/Yu3YK+9ildg2RoieOrZaMqCS7euOFEa/UdpQj9gR3eHWGp8
 95i56JbKmNhwZp5a6nVl6EosTeJlbx3zR/YsoTDyOfrhmMTDUIo=
X-Received: by 2002:a17:907:7ba7:b0:b98:5648:e68a with SMTP id
 a640c23a62f3a-ba41adfb426mr362183266b.36.1776522714547; Sat, 18 Apr 2026
 07:31:54 -0700 (PDT)
Received: from 753933720722 named unknown by gmailapi.google.com with
 HTTPREST; Sat, 18 Apr 2026 07:31:53 -0700
Received: from 753933720722 named unknown by gmailapi.google.com with
 HTTPREST; Sat, 18 Apr 2026 07:31:53 -0700
From: =?UTF-8?B?4KS44KSu4KWA4KSwIOCkuOCkv+CkguCkuSBTYW1lZXIgU2luZ2g=?=
 <lumarzeli30@HIDDEN>
In-Reply-To: <87340s8mxh.fsf@HIDDEN>
References: <CAOR1sLyP2K-QD5NEyafwvv2CLKZps9EUkXMGKtr-JbkMjq7P7g@HIDDEN>
 <CAOR1sLyzyoG6YZJ-O2VvRr96P_jyy9mcVBVJO8tKusmbiKdPCA@HIDDEN>
 <87y0iliw9j.fsf@HIDDEN>
 <CAOR1sLzqfGDh_F0ecwdd6uxdDWy2UCeogug7ODn+ovokNwq4rw@HIDDEN>
 <87fr4t8te2.fsf@HIDDEN>
 <CAOR1sLxhOWdif1nWbaEjMW7Fa_ogGFNMSeBWrrUKCmyOvKCGZQ@HIDDEN>
 <87mrz1i8dt.fsf@HIDDEN> <86tst8ivz1.fsf@HIDDEN>
 <87340s8mxh.fsf@HIDDEN>
MIME-Version: 1.0
Date: Sat, 18 Apr 2026 07:31:53 -0700
X-Gm-Features: AQROBzDrRKS-aXwrFy30Wv9_lOavtDV5t5zTneiJD4ezsCnv2CZsDawKy2d_oSE
Message-ID: <CAOR1sLz2Kj0aPwdf1V7F_WPQc0sQGAD19nMoHfEHa=HRfFTy+Q@HIDDEN>
Subject: Re: bug#80838: 31.0.50; `read-passwd' password visible after
 returning from recursive minibuffer
To: Pip Cet <pipcet@HIDDEN>, Eli Zaretskii <eliz@HIDDEN>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 1.3 (+)
X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org",
 has NOT identified this incoming email as spam.  The original
 message has been attached to this so you can view it or label
 similar future email.  If you have any questions, see
 the administrator of that system for details.
 Content preview: Pip Cet writes: > "Eli Zaretskii" writes: > >>> Cc: Pip Cet
 , 80838 <at> debbugs.gnu.org >>> Date: Fri, 17 Apr 2026 23:28:46 +0200 >>> From:
 Stephen Berman via "Bug reports for GNU Emacs, >>> the Swiss army knife of
 te [...] 
 Content analysis details:   (1.3 points, 10.0 required)
 pts rule name              description
 ---- ---------------------- --------------------------------------------------
 -0.0 RCVD_IN_DNSWL_NONE     RBL: Sender listed at https://www.dnswl.org/,
 no trust [2a00:1450:4864:20:0:0:0:62e listed in]
 [list.dnswl.org]
 -0.0 SPF_PASS               SPF: sender matches SPF record
 0.0 SPF_HELO_NONE          SPF: HELO does not publish an SPF Record
 0.2 FREEMAIL_ENVFROM_END_DIGIT Envelope-from freemail username ends
 in digit (lumarzeli30[at]gmail.com)
 1.0 FORGED_GMAIL_RCVD      'From' gmail.com does not match 'Received'
 headers
 0.0 FREEMAIL_FROM          Sender email is commonly abused enduser mail
 provider (lumarzeli30[at]gmail.com)
 0.0 UNPARSEABLE_RELAY      Informational: message has unparseable relay
 lines
X-Debbugs-Envelope-To: 80838
Cc: Stephen Berman <stephen.berman@HIDDEN>, 80838 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: 0.3 (/)

Pip Cet <pipcet@HIDDEN> writes:

> "Eli Zaretskii" <eliz@HIDDEN> writes:
>
>>> Cc: Pip Cet <pipcet@HIDDEN>, 80838 <at> debbugs.gnu.org
>>> Date: Fri, 17 Apr 2026 23:28:46 +0200
>>> From:  Stephen Berman via "Bug reports for GNU Emacs,
>>>  the Swiss army knife of text editors" <bug-gnu-emacs@HIDDEN>
>>>
>>> >> diff --git a/lisp/auth-source.el b/lisp/auth-source.el
>>> >> index 6cdea11c1ee..5b8e40e9a94 100644
>>> >> --- a/lisp/auth-source.el
>>> >> +++ b/lisp/auth-source.el
>>> >> @@ -2602,7 +2602,7 @@ read-passwd--hide-password-icon
>>> >>  (defvar read-passwd--mode-line-icon nil
>>> >>    "Propertized mode line icon for showing/hiding passwords.")
>>> >>
>>> >> -(defvar read-passwd--hide-password t
>>> >> +(defvar-local read-passwd--hide-password t
>>> >>    "Toggle whether password should be hidden in minibuffer.")
>>> >>
>>> >>  (defun read-passwd--hide-password ()
>>>
>>> This is an excellent example of why I regret not being as talented at
>>> finding simple good solutions as I am at pursuing complicated dead ends=
.
>>
>> I think we need both in this case.
>
> I'm not sure we want read-passwd state to be local at all. Erring on the
> side of hiding passwords seems comparatively harmless to me, while the
> complication of multiple "reveal password" icons for different nested
> minibuffers could easily result in displaying passwords that are meant
> to remain secret.
>
> So I'd like to suggest this, which is closer to Stephen's approach: we
> only ever display a single icon, and if we enter or leave a password
> prompt, we hide the password.
>
> The main difference is we keep the nested buffers in a list rather than
> remembering their depth, which I think should help us avoid trouble when
> more than two minibuffers are reading passwords.
>
> From 6d8f987e2ddca1dc7c159dd4e5c72c76c35de254 Mon Sep 17 00:00:00 2001
> From: Pip Cet <pipcet@HIDDEN>
> Date: Sat, 18 Apr 2026 07:34:45 +0000
> Subject: [PATCH] Fix nested read-passwd calls (bug#80838)
>
> * lisp/auth-source.el (read-passwd--hide-password): Change default
> value, which is unused.
> (read-passwd-toggle-visibility): Add optional FORCE argument.
> (read-passwd--mini-buffers): New variable.
> (read-passwd-mode): Don't modify mode line when nested.  Hide password
> when returning to nested minibuffer.
> ---
>  lisp/auth-source.el | 42 +++++++++++++++++++++++++-----------------
>  1 file changed, 25 insertions(+), 17 deletions(-)
>
> diff --git a/lisp/auth-source.el b/lisp/auth-source.el
> index 6cdea11c1ee..45eeeb447b0 100644
> --- a/lisp/auth-source.el
> +++ b/lisp/auth-source.el
> @@ -2602,7 +2602,7 @@ read-passwd--hide-password-icon
>  (defvar read-passwd--mode-line-icon nil
>    "Propertized mode line icon for showing/hiding passwords.")
>
> -(defvar read-passwd--hide-password t
> +(defvar read-passwd--hide-password nil
>    "Toggle whether password should be hidden in minibuffer.")
>
>  (defun read-passwd--hide-password ()
> @@ -2617,7 +2617,7 @@ read-passwd--hide-password
>         (+ i beg) (+ 1 i beg)
>         'help-echo "C-u: Clear password\nTAB: Toggle password visibility"=
))))
>
> -(defun read-passwd-toggle-visibility ()
> +(defun read-passwd-toggle-visibility (&optional force)
>    "Toggle minibuffer contents visibility.
>  Adapt also mode line."
>    (interactive)
> @@ -2627,7 +2627,8 @@ read-passwd-toggle-visibility
>      ;; mini-buffer.
>      (with-current-buffer (window-buffer win)
>        (when (memq 'read-passwd-mode local-minor-modes)
> -        (setq read-passwd--hide-password (not read-passwd--hide-password=
))
> +        (setq read-passwd--hide-password
> +              (or force (not read-passwd--hide-password)))
>          (setq read-passwd--mode-line-icon
>                `(:propertize
>                  ,(if icon-preference
> @@ -2652,6 +2653,9 @@ read-passwd-map
>    "C-u" #'delete-minibuffer-contents ;bug#12570
>    "TAB" #'read-passwd-toggle-visibility)
>
> +(defvar read-passwd--mini-buffers nil
> +  "Internal.  List of minibuffers where `read-passwd' is active.")
> +
>  (define-minor-mode read-passwd-mode
>    "Toggle visibility of password in minibuffer."
>    :group 'mode-line
> @@ -2659,21 +2663,25 @@ read-passwd-mode
>    :keymap read-passwd-map
>    :version "30.1"
>
> -  (setq read-passwd--hide-password nil)
> -  (or global-mode-string (setq global-mode-string '("")))
> -
> -  (let ((mode-string '(:eval read-passwd--mode-line-icon)))
> -    (if read-passwd-mode
> -        ;; Add `read-passwd--mode-line-icon'.
> -        (or (member mode-string global-mode-string)
> -            (setq global-mode-string
> -	          (append global-mode-string (list mode-string))))
> -      ;; Remove `read-passwd--mode-line-icon'.
> -      (setq global-mode-string
> -	    (delete mode-string global-mode-string))))
> -
> +  (unless read-passwd-mode
> +    (setq read-passwd--mini-buffers
> +          (delq (current-buffer) read-passwd--mini-buffers)))
> +  (unless read-passwd--mini-buffers
> +    (let ((mode-string '(:eval read-passwd--mode-line-icon)))
> +      (if read-passwd-mode
> +          ;; Add `read-passwd--mode-line-icon'.
> +          (or (member mode-string global-mode-string)
> +              (setq global-mode-string
> +	            (append global-mode-string (list mode-string))))
> +        ;; Remove `read-passwd--mode-line-icon'.
> +        (setq global-mode-string
> +	      (delete mode-string global-mode-string)))))
>    (when read-passwd-mode
> -    (read-passwd-toggle-visibility)))
> +    (push (current-buffer) read-passwd--mini-buffers))
> +  ;; Always hide the current password.
> +  (when read-passwd--mini-buffers
> +    (with-current-buffer (car read-passwd--mini-buffers)
> +      (read-passwd-toggle-visibility t))))
>
>  (defvar overriding-text-conversion-style)
>
> --
> 2.53.0
>

Thanks, this patch also works.

--=20
=E0=A4=B8=E0=A4=AE=E0=A5=80=E0=A4=B0=E0=A4=B8=E0=A4=BF=E0=A4=82=E0=A4=B9




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#80838; Package emacs. Full text available.

Message received at 80838 <at> debbugs.gnu.org:


Received: (at 80838) by debbugs.gnu.org; 18 Apr 2026 12:37:08 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Apr 18 08:37:07 2026
Received: from localhost ([127.0.0.1]:50078 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1wE4v1-0001jv-Ma
	for submit <at> debbugs.gnu.org; Sat, 18 Apr 2026 08:37:06 -0400
Received: from mail-106120.protonmail.ch ([79.135.106.120]:47801)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <pipcet@HIDDEN>)
 id 1wE4uy-0001iF-1C
 for 80838 <at> debbugs.gnu.org; Sat, 18 Apr 2026 08:37:00 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com;
 s=protonmail3; t=1776515811; x=1776775011;
 bh=u6KhUk7CzI1ol0PQz+OnBKgoujv9gdMvGq+YExhunsQ=;
 h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References:
 Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID:
 Message-ID:BIMI-Selector;
 b=tEGlfmOtUT5/HEu/FfGEkFeBaL6BX45+DfoE9sRT1vb2IUa6dwyTE6ZXEgb08MA8R
 lKlB+1Nl8Hgo/nIkPid9u90Na1XCoF2tyg6gEULndXfi26JNhZ33OG10Cpfr/bYp/O
 /J2+XavZx30F9H14BTr6aWLMSVGJU+KqqSqEheIgj9FwYFA3TIsoacWGVW8UhErcQo
 i2eTn1cGCxFq5jv0D/1kKZTd5Da7mVYhOvBfj7lkxRp/RsXJwHpXbttvOZg2OcmN9C
 p+FD2MlDhA4fiQlmMftmD/Z9h7PU21G9GjUS78LGp+Uwb2uC9ioCCatbLQGKCsiyei
 dRNDI96D9/B1Q==
Date: Sat, 18 Apr 2026 12:36:45 +0000
To: Eli Zaretskii <eliz@HIDDEN>
From: Pip Cet <pipcet@HIDDEN>
Subject: Re: bug#80838: 31.0.50;
 `read-passwd' password visible after returning from recursive
 minibuffer
Message-ID: <87340s8mxh.fsf@HIDDEN>
In-Reply-To: <86tst8ivz1.fsf@HIDDEN>
References: <CAOR1sLyP2K-QD5NEyafwvv2CLKZps9EUkXMGKtr-JbkMjq7P7g@HIDDEN>
 <CAOR1sLyzyoG6YZJ-O2VvRr96P_jyy9mcVBVJO8tKusmbiKdPCA@HIDDEN>
 <87y0iliw9j.fsf@HIDDEN>
 <CAOR1sLzqfGDh_F0ecwdd6uxdDWy2UCeogug7ODn+ovokNwq4rw@HIDDEN>
 <87fr4t8te2.fsf@HIDDEN>
 <CAOR1sLxhOWdif1nWbaEjMW7Fa_ogGFNMSeBWrrUKCmyOvKCGZQ@HIDDEN>
 <87mrz1i8dt.fsf@HIDDEN> <86tst8ivz1.fsf@HIDDEN>
Feedback-ID: 112775352:user:proton
X-Pm-Message-ID: 4286b31a23dc026cac4dc5b99256023a6968b3cc
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 80838
Cc: lumarzeli30@HIDDEN, Stephen Berman <stephen.berman@HIDDEN>,
 80838 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

"Eli Zaretskii" <eliz@HIDDEN> writes:

>> Cc: Pip Cet <pipcet@HIDDEN>, 80838 <at> debbugs.gnu.org
>> Date: Fri, 17 Apr 2026 23:28:46 +0200
>> From:  Stephen Berman via "Bug reports for GNU Emacs,
>>  the Swiss army knife of text editors" <bug-gnu-emacs@HIDDEN>
>>
>> >> diff --git a/lisp/auth-source.el b/lisp/auth-source.el
>> >> index 6cdea11c1ee..5b8e40e9a94 100644
>> >> --- a/lisp/auth-source.el
>> >> +++ b/lisp/auth-source.el
>> >> @@ -2602,7 +2602,7 @@ read-passwd--hide-password-icon
>> >>  (defvar read-passwd--mode-line-icon nil
>> >>    "Propertized mode line icon for showing/hiding passwords.")
>> >>
>> >> -(defvar read-passwd--hide-password t
>> >> +(defvar-local read-passwd--hide-password t
>> >>    "Toggle whether password should be hidden in minibuffer.")
>> >>
>> >>  (defun read-passwd--hide-password ()
>>
>> This is an excellent example of why I regret not being as talented at
>> finding simple good solutions as I am at pursuing complicated dead ends.
>
> I think we need both in this case.

I'm not sure we want read-passwd state to be local at all. Erring on the
side of hiding passwords seems comparatively harmless to me, while the
complication of multiple "reveal password" icons for different nested
minibuffers could easily result in displaying passwords that are meant
to remain secret.

So I'd like to suggest this, which is closer to Stephen's approach: we
only ever display a single icon, and if we enter or leave a password
prompt, we hide the password.

The main difference is we keep the nested buffers in a list rather than
remembering their depth, which I think should help us avoid trouble when
more than two minibuffers are reading passwords.

From 6d8f987e2ddca1dc7c159dd4e5c72c76c35de254 Mon Sep 17 00:00:00 2001
From: Pip Cet <pipcet@HIDDEN>
Date: Sat, 18 Apr 2026 07:34:45 +0000
Subject: [PATCH] Fix nested read-passwd calls (bug#80838)

* lisp/auth-source.el (read-passwd--hide-password): Change default
value, which is unused.
(read-passwd-toggle-visibility): Add optional FORCE argument.
(read-passwd--mini-buffers): New variable.
(read-passwd-mode): Don't modify mode line when nested.  Hide password
when returning to nested minibuffer.
---
 lisp/auth-source.el | 42 +++++++++++++++++++++++++-----------------
 1 file changed, 25 insertions(+), 17 deletions(-)

diff --git a/lisp/auth-source.el b/lisp/auth-source.el
index 6cdea11c1ee..45eeeb447b0 100644
--- a/lisp/auth-source.el
+++ b/lisp/auth-source.el
@@ -2602,7 +2602,7 @@ read-passwd--hide-password-icon
 (defvar read-passwd--mode-line-icon nil
   "Propertized mode line icon for showing/hiding passwords.")
=20
-(defvar read-passwd--hide-password t
+(defvar read-passwd--hide-password nil
   "Toggle whether password should be hidden in minibuffer.")
=20
 (defun read-passwd--hide-password ()
@@ -2617,7 +2617,7 @@ read-passwd--hide-password
        (+ i beg) (+ 1 i beg)
        'help-echo "C-u: Clear password\nTAB: Toggle password visibility"))=
))
=20
-(defun read-passwd-toggle-visibility ()
+(defun read-passwd-toggle-visibility (&optional force)
   "Toggle minibuffer contents visibility.
 Adapt also mode line."
   (interactive)
@@ -2627,7 +2627,8 @@ read-passwd-toggle-visibility
     ;; mini-buffer.
     (with-current-buffer (window-buffer win)
       (when (memq 'read-passwd-mode local-minor-modes)
-        (setq read-passwd--hide-password (not read-passwd--hide-password))
+        (setq read-passwd--hide-password
+              (or force (not read-passwd--hide-password)))
         (setq read-passwd--mode-line-icon
               `(:propertize
                 ,(if icon-preference
@@ -2652,6 +2653,9 @@ read-passwd-map
   "C-u" #'delete-minibuffer-contents ;bug#12570
   "TAB" #'read-passwd-toggle-visibility)
=20
+(defvar read-passwd--mini-buffers nil
+  "Internal.  List of minibuffers where `read-passwd' is active.")
+
 (define-minor-mode read-passwd-mode
   "Toggle visibility of password in minibuffer."
   :group 'mode-line
@@ -2659,21 +2663,25 @@ read-passwd-mode
   :keymap read-passwd-map
   :version "30.1"
=20
-  (setq read-passwd--hide-password nil)
-  (or global-mode-string (setq global-mode-string '("")))
-
-  (let ((mode-string '(:eval read-passwd--mode-line-icon)))
-    (if read-passwd-mode
-        ;; Add `read-passwd--mode-line-icon'.
-        (or (member mode-string global-mode-string)
-            (setq global-mode-string
-=09          (append global-mode-string (list mode-string))))
-      ;; Remove `read-passwd--mode-line-icon'.
-      (setq global-mode-string
-=09    (delete mode-string global-mode-string))))
-
+  (unless read-passwd-mode
+    (setq read-passwd--mini-buffers
+          (delq (current-buffer) read-passwd--mini-buffers)))
+  (unless read-passwd--mini-buffers
+    (let ((mode-string '(:eval read-passwd--mode-line-icon)))
+      (if read-passwd-mode
+          ;; Add `read-passwd--mode-line-icon'.
+          (or (member mode-string global-mode-string)
+              (setq global-mode-string
+=09            (append global-mode-string (list mode-string))))
+        ;; Remove `read-passwd--mode-line-icon'.
+        (setq global-mode-string
+=09      (delete mode-string global-mode-string)))))
   (when read-passwd-mode
-    (read-passwd-toggle-visibility)))
+    (push (current-buffer) read-passwd--mini-buffers))
+  ;; Always hide the current password.
+  (when read-passwd--mini-buffers
+    (with-current-buffer (car read-passwd--mini-buffers)
+      (read-passwd-toggle-visibility t))))
=20
 (defvar overriding-text-conversion-style)
=20
--=20
2.53.0





Information forwarded to bug-gnu-emacs@HIDDEN:
bug#80838; Package emacs. Full text available.

Message received at 80838 <at> debbugs.gnu.org:


Received: (at 80838) by debbugs.gnu.org; 18 Apr 2026 07:11:44 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Apr 18 03:11:43 2026
Received: from localhost ([127.0.0.1]:46680 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1wDzq9-0001YG-99
	for submit <at> debbugs.gnu.org; Sat, 18 Apr 2026 03:11:43 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10]:53984)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1wDzq7-0001Wj-7D
 for 80838 <at> debbugs.gnu.org; Sat, 18 Apr 2026 03:11:40 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1wDzq1-0005Dv-Kb; Sat, 18 Apr 2026 03:11:33 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date:
 mime-version; bh=28qZs2uR3j62lQF4vG/20mixGU9m1MDEpMjWKkjAUk0=; b=jd6rmWkAjrpr
 3rL24CYNwPaT1cy6lAx4nS9E96xoT8dEeQei5N56Qa/ZloCSSysMkIJAUcU0IYD7Kz9b6Gf/+Agzy
 0SisUy3PigVPF9OTFl63523uLML44NcQJpFSQaS6RRNVFiGm2kV3wmE9nDwrXjeNyMGM0Ox7S6HvH
 NTw9E0ZxF1xv45OqeYYR1f71gP/Bh5bBverBAsyo8thCxkdJXuFpnkbZfmQqAtSnVo8xesXgA6NFG
 oAVG3DlzTT7Qv7P1BS4NG6MtJ8LCvKssaOuii5I3NmyHvHRgIqvKcyuxtyQmmti0Kv5jOfNdbOdL2
 Rd1rHiA9NMbDBlFUlX00Rg==;
Date: Sat, 18 Apr 2026 10:11:30 +0300
Message-Id: <86tst8ivz1.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Stephen Berman <stephen.berman@HIDDEN>
In-Reply-To: <87mrz1i8dt.fsf@HIDDEN> (bug-gnu-emacs@HIDDEN)
Subject: Re: bug#80838: 31.0.50;
 `read-passwd' password visible after returning from recursive
 minibuffer
References: <CAOR1sLyP2K-QD5NEyafwvv2CLKZps9EUkXMGKtr-JbkMjq7P7g@HIDDEN>
 <CAOR1sLyzyoG6YZJ-O2VvRr96P_jyy9mcVBVJO8tKusmbiKdPCA@HIDDEN>
 <87y0iliw9j.fsf@HIDDEN>
 <CAOR1sLzqfGDh_F0ecwdd6uxdDWy2UCeogug7ODn+ovokNwq4rw@HIDDEN>
 <87fr4t8te2.fsf@HIDDEN>
 <CAOR1sLxhOWdif1nWbaEjMW7Fa_ogGFNMSeBWrrUKCmyOvKCGZQ@HIDDEN>
 <87mrz1i8dt.fsf@HIDDEN>
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 80838
Cc: lumarzeli30@HIDDEN, pipcet@HIDDEN, 80838 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> Cc: Pip Cet <pipcet@HIDDEN>, 80838 <at> debbugs.gnu.org
> Date: Fri, 17 Apr 2026 23:28:46 +0200
> From:  Stephen Berman via "Bug reports for GNU Emacs,
>  the Swiss army knife of text editors" <bug-gnu-emacs@HIDDEN>
> 
> >> diff --git a/lisp/auth-source.el b/lisp/auth-source.el
> >> index 6cdea11c1ee..5b8e40e9a94 100644
> >> --- a/lisp/auth-source.el
> >> +++ b/lisp/auth-source.el
> >> @@ -2602,7 +2602,7 @@ read-passwd--hide-password-icon
> >>  (defvar read-passwd--mode-line-icon nil
> >>    "Propertized mode line icon for showing/hiding passwords.")
> >>
> >> -(defvar read-passwd--hide-password t
> >> +(defvar-local read-passwd--hide-password t
> >>    "Toggle whether password should be hidden in minibuffer.")
> >>
> >>  (defun read-passwd--hide-password ()
> 
> This is an excellent example of why I regret not being as talented at
> finding simple good solutions as I am at pursuing complicated dead ends.

I think we need both in this case.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#80838; Package emacs. Full text available.

Message received at 80838 <at> debbugs.gnu.org:


Received: (at 80838) by debbugs.gnu.org; 17 Apr 2026 21:29:03 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Apr 17 17:29:02 2026
Received: from localhost ([127.0.0.1]:40268 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1wDqkI-0006kf-2H
	for submit <at> debbugs.gnu.org; Fri, 17 Apr 2026 17:29:02 -0400
Received: from mout.gmx.net ([212.227.17.22]:38197)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <stephen.berman@HIDDEN>)
 id 1wDqkF-0006jQ-9C
 for 80838 <at> debbugs.gnu.org; Fri, 17 Apr 2026 17:29:00 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.net;
 s=s31663417; t=1776461327; x=1777066127; i=stephen.berman@HIDDEN;
 bh=i6XDBG0RUoEDIfgbSSZvkVvzfcZqCVeRB+DCryaQa0A=;
 h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References:Date:
 Message-ID:MIME-Version:Content-Type:Content-Transfer-Encoding:cc:
 content-transfer-encoding:content-type:date:from:message-id:
 mime-version:reply-to:subject:to;
 b=Mm/H+gYZSnqOHtG/RQhiSdOFkDE+1C1HxGYUqhrh1UWfPVaRy/cIGc/tgRp/AgRz
 tGAJZ/AW64KbS2Ye7dsm6r9eO/D19MV73YY2mX6hdo7ohCpDwvIRLS1Myfhcv628R
 K1eWsMYTKm6jrtrnwN70e1pYTRnzo1iJQ+iWDdbx7zQFnDuYf/UAu0xmiBOxm8Td0
 Rq679/OMkgaAQJAEMlusDZyezZznIfg8sxfcxOrQIP0uWQwPvNYPNGVugmGf9ODit
 ZUSwQxYMOWbaVU//zDeHkQCzg8OOG7k4UiuZM9v3IcRdrGi0hSJ3TL61u6/cV84jX
 hrdvkQXWDMfGkGn6dQ==
X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a
Received: from client.hidden.invalid by mail.gmx.net (mrgmx104
 [212.227.17.168]) with ESMTPSA (Nemesis) id 1M1HZi-1wFVQr31Cs-00FivL; Fri, 17
 Apr 2026 23:28:47 +0200
From: Stephen Berman <stephen.berman@HIDDEN>
To: =?utf-8?B?4KS44KSu4KWA4KSwIOCkuOCkv+CkguCkuSBTYW1lZXIgU2luZ2g=?=
 <lumarzeli30@HIDDEN>
Subject: Re: bug#80838: 31.0.50; `read-passwd' password visible after
 returning from recursive minibuffer
In-Reply-To: <CAOR1sLxhOWdif1nWbaEjMW7Fa_ogGFNMSeBWrrUKCmyOvKCGZQ@HIDDEN>
References: <CAOR1sLyP2K-QD5NEyafwvv2CLKZps9EUkXMGKtr-JbkMjq7P7g@HIDDEN>
 <CAOR1sLyzyoG6YZJ-O2VvRr96P_jyy9mcVBVJO8tKusmbiKdPCA@HIDDEN>
 <87y0iliw9j.fsf@HIDDEN>
 <CAOR1sLzqfGDh_F0ecwdd6uxdDWy2UCeogug7ODn+ovokNwq4rw@HIDDEN>
 <87fr4t8te2.fsf@HIDDEN>
 <CAOR1sLxhOWdif1nWbaEjMW7Fa_ogGFNMSeBWrrUKCmyOvKCGZQ@HIDDEN>
Date: Fri, 17 Apr 2026 23:28:46 +0200
Message-ID: <87mrz1i8dt.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Provags-ID: V03:K1:fzSReM6lTYchx649wuT9ZCaXPsb8ihlfxTPSlzkaYgRkbCzMAEd
 XYmkzjyUHjc2KooNGJkdQLIgD2imkXGHqRLODu6cTirmEYFbCTqHFu1ZYiSwJENM5pc2TRT
 SDt9NTFZtNksxUy6MnYfrDlzBjPJzq2O7TQbka0jYZS+W6IiEXB4rLmNfVZodj64WM1TP8V
 lvGV+ZfQ2jlrMhJnIsc+g==
X-Spam-Flag: NO
UI-OutboundReport: notjunk:1;M01:P0:Gad1V7W2n0Y=;R/J5PgEZ1r0mDCFXuil+uw8Ja+L
 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
 EO5WyIkwn+wrt3Q==
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 80838
Cc: Pip Cet <pipcet@HIDDEN>, 80838 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

On Fri, 17 Apr 2026 09:18:23 -0700 =E0=A4=B8=E0=A4=AE=E0=A5=80=E0=A4=B0 =E0=
=A4=B8=E0=A4=BF=E0=A4=82=E0=A4=B9 Sameer Singh <lumarzeli30@HIDDEN> wrot=
e:

> Pip Cet <pipcet@HIDDEN> writes:
>
>> =E0=A4=B8=E0=A4=AE=E0=A5=80=E0=A4=B0 =E0=A4=B8=E0=A4=BF=E0=A4=82=E0=A4=
=B9 Sameer Singh <lumarzeli30@HIDDEN> writes:
>>
>>> Stephen Berman <stephen.berman@HIDDEN> writes:
>>>
>>>> On Thu, 16 Apr 2026 14:06:53 +0530 =E0=A4=B8=E0=A4=AE=E0=A5=80=E0=A4=
=B0 =E0=A4=B8=E0=A4=BF=E0=A4=82=E0=A4=B9 Sameer Singh
>>>> <lumarzeli30@HIDDEN> wrote:
[...]
>>>> The following patch prevents the unwanted icon in the mode in this case
>>>> and also DTRT for your test case above:
[...]
>>>> It's quite a bit more complex than the first patch, but I couldn't find
>>>> a simpler way that works for both test cases.  Maybe the second test
>>>> case is too improbable as a real use case to warrant the added code
>>>> complexity.
>>>>
>>>
>>> With this patch, only the innermost two password prompts have their
>>> passwords hidden.
[...]
>> Does this patch prevent the problem? It is not a suggested patch as
>> read-passwd--hide-password seems to do two very different things, and
>> should probably be split into two variables. Also, something should
>> probably be done about read-passwd--mode-line-icon.
>
> Yes this patch works.
>
>>
>> From 158d518a3baee47335dd0fb9a5bd8876e9a248df Mon Sep 17 00:00:00 2001
>> From: Pip Cet <pipcet@HIDDEN>
>> Date: Fri, 17 Apr 2026 16:00:08 +0000
>> Subject: [PATCH] Make read-passwd--hide-password local (bug#80838)
>>
>> * lisp/auth-source.el (read-passwd--hide-password): Use
>> 'defvar-local', not 'defvar'.
>> ---
>>  lisp/auth-source.el | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/lisp/auth-source.el b/lisp/auth-source.el
>> index 6cdea11c1ee..5b8e40e9a94 100644
>> --- a/lisp/auth-source.el
>> +++ b/lisp/auth-source.el
>> @@ -2602,7 +2602,7 @@ read-passwd--hide-password-icon
>>  (defvar read-passwd--mode-line-icon nil
>>    "Propertized mode line icon for showing/hiding passwords.")
>>
>> -(defvar read-passwd--hide-password t
>> +(defvar-local read-passwd--hide-password t
>>    "Toggle whether password should be hidden in minibuffer.")
>>
>>  (defun read-passwd--hide-password ()

This is an excellent example of why I regret not being as talented at
finding simple good solutions as I am at pursuing complicated dead ends.

Steve Berman




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#80838; Package emacs. Full text available.

Message received at 80838 <at> debbugs.gnu.org:


Received: (at 80838) by debbugs.gnu.org; 17 Apr 2026 16:18:28 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Apr 17 12:18:28 2026
Received: from localhost ([127.0.0.1]:37257 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1wDltk-0005Wy-3T
	for submit <at> debbugs.gnu.org; Fri, 17 Apr 2026 12:18:28 -0400
Received: from mail-ed1-x536.google.com ([2a00:1450:4864:20::536]:51470)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <lumarzeli30@HIDDEN>)
 id 1wDlth-0005We-9y
 for 80838 <at> debbugs.gnu.org; Fri, 17 Apr 2026 12:18:26 -0400
Received: by mail-ed1-x536.google.com with SMTP id
 4fb4d7f45d1cf-670ab084a39so1340805a12.3
 for <80838 <at> debbugs.gnu.org>; Fri, 17 Apr 2026 09:18:25 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; t=1776442704; cv=none;
 d=google.com; s=arc-20240605;
 b=d+k1Je04NAYhYeU4nu9uSUo/0SEIbhfRenvrlyRoNhHxMmjkwr7xWzz+xawywEIa2T
 GVmHTepIBjAUgk2KoAydCWdH/mzqz0Bze9jfI7E1LGj2CBxh1+NRRu+ZFq5mj6jFnuyk
 BlIhZO9G/GHxHTWZ8PupIr3NQR/b+NMh98ltM2+IV3j+o2UevR/fjNAqKmV6yClBNYNV
 P/fetokj+QsHq4SdbVt0jpwPWCZfDbk+w0VGJbA/4XqWKaRBtYtQGnhD7nde5fNYhH4R
 xnIVo9XBzrg49SaqKuLf4mdPoWALZiFtLqFDAj+o6sBgLgfLZPENBh5h6yi5h4Q1soJ+
 YbSQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com;
 s=arc-20240605; 
 h=content-transfer-encoding:cc:to:subject:message-id:date
 :mime-version:references:in-reply-to:from:dkim-signature;
 bh=+SEimJCvzhQ/0e3u6pPax0Tz5n1rFDBoLKA6b/5FYlo=;
 fh=k9yOtXtSIG2gkMv7SzKKObv+qnyE4zrtSNkJdJ2cRwM=;
 b=e06Km7ZVRAp4dDQns+zjjEHem5nhl5xJEgimlMIAg83eikeJtuwc7lNy5+NSd9LLKp
 HSCmoq//5nF7UZXtHBCvCBGAo58ispEtkp1fPI5wBw31/uaHXU/dVd8xPAOgjObAgs1c
 X7Z2BbGBGoQ8NZohPWQhB+3h5HYnt9pNWJJX+ooJ01q+7sQg5DSG0RVjega37C7A51mf
 ZkuOX87rW2R0brBMZtB+aduI8ubiep/AXntgN+fws9lyEyCZ/5p1ef9O28k+bHOA8x5O
 kzusCGkDPedg0FoiD9JDI8mpVM/8I2JK/WP2r9hzGjbBqz8BkqflRPAG6m68KpihWw5N
 hn1Q==; darn=debbugs.gnu.org
ARC-Authentication-Results: i=1; mx.google.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20251104; t=1776442704; x=1777047504; darn=debbugs.gnu.org;
 h=content-transfer-encoding:cc:to:subject:message-id:date
 :mime-version:references:in-reply-to:from:from:to:cc:subject:date
 :message-id:reply-to;
 bh=+SEimJCvzhQ/0e3u6pPax0Tz5n1rFDBoLKA6b/5FYlo=;
 b=TsYM6j6uQtCoktW80tIC4dyjTvHNKv5+BRDsv5dEkNDC6eHEeUeso6TMyYBFaQWsFo
 CAemPX0ENqoi38fILDqUWSGBuL9y/YOe8bBDJl7Cf8m/qDutIU6lzco4kS0xzxq5KpdC
 p+cI2YnkWxh9e9opVCWpEsb4vazhwT6j3uTsbasw5QoD5sMeiZ1wbwS+4mXmvZy8ZBn7
 NNyl89EBRmE33gNLZ/58zqUoYF9Um2oPcSLv3j9VDvGFD7VqG3474n3J/aBwHdtAKyDi
 B3NY82er5i2E+AyG5Wc9WvRQUaxaWeFR9hDE08LMYFscH9zLYmLuRTv8URX5J5Wrw8C7
 fENg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20251104; t=1776442704; x=1777047504;
 h=content-transfer-encoding:cc:to:subject:message-id:date
 :mime-version:references:in-reply-to:from:x-gm-gg:x-gm-message-state
 :from:to:cc:subject:date:message-id:reply-to;
 bh=+SEimJCvzhQ/0e3u6pPax0Tz5n1rFDBoLKA6b/5FYlo=;
 b=MIge4/jtlI67yqy3xJRvIDc3uPeKatiV8utOXW1P24LxrVrqgj2F+qoGZNtD3aR+dQ
 htlsR0r86IXzOH9lwvuqkpH6HRkqm0KPd5hoqj643EXhRnE/h5U/YVqt9oQMnBfdUmVY
 wVMQcI3Y2AAbXtHj46ZLVvcsW9lyTbf+PUsMG7OspZt09+1gkQ/YcXFbDzO4WPs8tJTV
 2kbQeIS3bpDF+N99not9soEx1w3ba8EHD2GzuIK3l0QQxEIzMWIs8AnFuccjTfsajSsJ
 lJAnT22w44VXCU+Ls5TYZL9EubQGgyXJQ/z+bsEaqJbKRY+q10FUOzKgw1hziVmKdHyc
 LTHw==
X-Forwarded-Encrypted: i=1;
 AFNElJ+8YB22UIhOgRIdZdj30piGc4upy1tkDfdXfcbOm3YfYTaskMG6cRXltJi9QP6LEcHuoaw34w==@debbugs.gnu.org
X-Gm-Message-State: AOJu0Ywiwo5SHGnLhZ4xURknzteQJvTVuwQ5utVz18ldelwRJDeS4GTD
 uCnsF/bhVbdIDhzRPumOa9oRkePsbW3wapZqdePiVd8PAbKNpGWxDX0Bb6WYu/6InicqFsnlTVF
 qxHyu3nB/PVeYb83XRHmrT5AU0kpxLMM=
X-Gm-Gg: AeBDiesy7V0LSSsQdwMyZRvNKalC4eusnve3DqFPYIEY9eVZ1OGErH0u282pZ+M05JC
 oT7zaJr3NYuD4Sf0hTsCV8WZS0OoGqDESw+j0OjxtisQFBAAqWo8P9FSUbLXOuHYmvAh/eQzRG7
 5BvqdgcHSQ44oiXaU64nbs728KZMbEXwwW87GW2aj48+QvojG+xb0JL2qYUadHxzUcdxUukTxXM
 FjW51vdGHBtjnP/4NELCa+b8ki14hVX3ceVqx0k2y1xbdWZhAsrAaioDMHusO2G4E2S6UZXrhzt
 l86k2NtFl6PHUKUN6mk4PkbbZJZYoHx7TaR5YXkoJ0dGjzM/mzY=
X-Received: by 2002:a17:906:9c8d:b0:ba2:b229:f14d with SMTP id
 a640c23a62f3a-ba418b7e453mr195825266b.2.1776442703448; Fri, 17 Apr 2026
 09:18:23 -0700 (PDT)
Received: from 753933720722 named unknown by gmailapi.google.com with
 HTTPREST; Fri, 17 Apr 2026 09:18:23 -0700
Received: from 753933720722 named unknown by gmailapi.google.com with
 HTTPREST; Fri, 17 Apr 2026 09:18:23 -0700
From: =?UTF-8?B?4KS44KSu4KWA4KSwIOCkuOCkv+CkguCkuSBTYW1lZXIgU2luZ2g=?=
 <lumarzeli30@HIDDEN>
In-Reply-To: <87fr4t8te2.fsf@HIDDEN>
References: <CAOR1sLyP2K-QD5NEyafwvv2CLKZps9EUkXMGKtr-JbkMjq7P7g@HIDDEN>
 <CAOR1sLyzyoG6YZJ-O2VvRr96P_jyy9mcVBVJO8tKusmbiKdPCA@HIDDEN>
 <87y0iliw9j.fsf@HIDDEN>
 <CAOR1sLzqfGDh_F0ecwdd6uxdDWy2UCeogug7ODn+ovokNwq4rw@HIDDEN>
 <87fr4t8te2.fsf@HIDDEN>
MIME-Version: 1.0
Date: Fri, 17 Apr 2026 09:18:23 -0700
X-Gm-Features: AQROBzAwJyXutzsUeTlgRN9xShBVaRYPR6Vnj8oYi8FkyYY57KoDPlHtfrS1vIk
Message-ID: <CAOR1sLxhOWdif1nWbaEjMW7Fa_ogGFNMSeBWrrUKCmyOvKCGZQ@HIDDEN>
Subject: Re: bug#80838: 31.0.50; `read-passwd' password visible after
 returning from recursive minibuffer
To: Pip Cet <pipcet@HIDDEN>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 1.3 (+)
X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org",
 has NOT identified this incoming email as spam.  The original
 message has been attached to this so you can view it or label
 similar future email.  If you have any questions, see
 the administrator of that system for details.
 
 Content preview:  Pip Cet writes: > समीर सिंह Sameer Singh writes:
    > >> Stephen Berman writes: >> >>> On Thu, 16 Apr 2026 14:06:53 +0530 समीर
    सिंह Sameer Singh wrote: >>> >>>> Magit asks for my SS [...] 
 
 Content analysis details:   (1.3 points, 10.0 required)
 
  pts rule name              description
 ---- ---------------------- --------------------------------------------------
 -0.0 SPF_PASS               SPF: sender matches SPF record
  0.0 SPF_HELO_NONE          SPF: HELO does not publish an SPF Record
  0.2 FREEMAIL_ENVFROM_END_DIGIT Envelope-from freemail username ends
                             in digit (lumarzeli30[at]gmail.com)
  1.0 FORGED_GMAIL_RCVD      'From' gmail.com does not match 'Received'
                             headers
  0.0 FREEMAIL_FROM          Sender email is commonly abused enduser mail
                             provider (lumarzeli30[at]gmail.com)
  0.0 UNPARSEABLE_RELAY      Informational: message has unparseable relay
                             lines
X-Debbugs-Envelope-To: 80838
Cc: Stephen Berman <stephen.berman@HIDDEN>, 80838 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: 0.3 (/)

Pip Cet <pipcet@HIDDEN> writes:

> =E0=A4=B8=E0=A4=AE=E0=A5=80=E0=A4=B0 =E0=A4=B8=E0=A4=BF=E0=A4=82=E0=A4=B9=
 Sameer Singh <lumarzeli30@HIDDEN> writes:
>
>> Stephen Berman <stephen.berman@HIDDEN> writes:
>>
>>> On Thu, 16 Apr 2026 14:06:53 +0530 =E0=A4=B8=E0=A4=AE=E0=A5=80=E0=A4=B0=
 =E0=A4=B8=E0=A4=BF=E0=A4=82=E0=A4=B9 Sameer Singh <lumarzeli30@HIDDEN> =
wrote:
>>>
>>>> Magit asks for my SSH password when I have to push some changes, I the=
n
>>>> use keepass.el to retrieve my password. keepass.el then in turn asks f=
or
>>>> the master password for my password store, after successfully retrievi=
ng
>>>> my password from keepass, I return back to the magit password prompt i=
n
>>>> the same minibuffer. Now when I paste the password here, the password =
is not
>>>> hidden anymore.
>>>>
>>>> Steps to reproduce:
>>>> 1. emacs -Q
>>>> 2. Paste this text and then M-x eval-buffer:
>>>>
>>>> (defun mwe-inner ()
>>>>   (interactive)
>>>>   (read-passwd "Inner password prompt (press RET): "))
>>>>
>>>> (global-set-key (kbd "C-c r") #'mwe-inner)
>>>>
>>>> (defun mwe-test ()
>>>>   (interactive)
>>>>   (read-passwd "Outer password (use C-c r and then come back): "))
>>>>
>>>> 3. M-x mwe-test
>>>> 4. C-c r
>>>> 5. Type something. The text will be hidden. Press RET
>>>> 5. Now when coming back to the mwe-test prompt, type something again,
>>>> the text is no longer hidden
>>>
>>> With this recipe I can reproduce the problem, and the following patch
>>> prevents it for me:
>>>
>>> diff --git a/lisp/auth-source.el b/lisp/auth-source.el
>>> index 6cdea11c1ee..3c48e4e7b53 100644
>>> --- a/lisp/auth-source.el
>>> +++ b/lisp/auth-source.el
>>> @@ -2722,7 +2722,7 @@ read-passwd
>>>  		  (read-hide-char (or read-hide-char ?*))
>>>                    (overriding-text-conversion-style 'password))
>>>                (read-string prompt nil t default)) ; t =3D "no history"
>>> -          (when (buffer-live-p minibuf)
>>> +          (when (and (buffer-live-p minibuf) (eq 0 (minibuffer-depth))=
)
>>>              (with-current-buffer minibuf
>>>                (read-passwd-mode -1)
>>>                ;; Not sure why but it seems that there might be cases w=
here the
>>>
>>> However, after applying this patch now consider the following recipe:
>>>
>>> 1. emacs -Q
>>> 2. As in the above recipe.
>>> 3. C-x C-f
>>> 4. as above
>>> 5. as above
>>> 6. Now we're back at the find-file prompt, and entering a file name
>>>    works fine, i.e., it's not hidden; however, the mode line wrongly
>>>    stills displays the icon `read-passwd--show-password-icon'.
>>
>> With this patch applied, the minibuffer cleanup will never occur if
>> `read-passwd' is not the first command called in the minibuffer right?
>> For example in this scenario:
>> 1. M-x foo
>> 2. <calling read-passwd>
>>
>>
>>>
>>> The following patch prevents the unwanted icon in the mode in this case
>>> and also DTRT for your test case above:
>>>
>>> diff --git a/lisp/auth-source.el b/lisp/auth-source.el
>>> index 6cdea11c1ee..42a3a67fd3c 100644
>>> --- a/lisp/auth-source.el
>>> +++ b/lisp/auth-source.el
>>> @@ -2675,6 +2675,8 @@ read-passwd-mode
>>>    (when read-passwd-mode
>>>      (read-passwd-toggle-visibility)))
>>>
>>> +(defvar read-passwd--previous-depth nil)
>>> +
>>>  (defvar overriding-text-conversion-style)
>>>
>>>  ;;;###autoload
>>> @@ -2703,7 +2705,12 @@ read-passwd
>>>                (message "Password not repeated accurately; please start=
 over")
>>>                (sit-for 1))))
>>>          success)
>>> -    (let (minibuf)
>>> +    (let ((depth (minibuffer-depth))
>>> +          minibuf)
>>> +      (if read-passwd--previous-depth
>>> +          (when (> depth 0)
>>> +            (setq read-passwd--previous-depth (1- depth)))
>>> +        (setq read-passwd--previous-depth t))
>>>        (minibuffer-with-setup-hook
>>>            (lambda ()
>>>              (setq minibuf (current-buffer))
>>> @@ -2722,12 +2729,13 @@ read-passwd
>>>  		  (read-hide-char (or read-hide-char ?*))
>>>                    (overriding-text-conversion-style 'password))
>>>                (read-string prompt nil t default)) ; t =3D "no history"
>>> -          (when (buffer-live-p minibuf)
>>> +          (when (and (buffer-live-p minibuf)
>>> +                     (not (eq read-passwd--previous-depth (1- depth)))=
)
>>>              (with-current-buffer minibuf
>>>                (read-passwd-mode -1)
>>> -              ;; Not sure why but it seems that there might be cases w=
here the
>>> -              ;; minibuffer is not always properly reset later on, so =
undo
>>> -              ;; whatever we've done here (bug#11392).
>>> +              ;; Not sure why but it seems that there might be cases
>>> +              ;; where the minibuffer is not always properly reset lat=
er
>>> +              ;; on, so undo whatever we've done here (bug#11392).
>>>                (remove-hook 'post-command-hook
>>>                             #'read-passwd--hide-password 'local)
>>>                (kill-local-variable 'post-self-insert-hook)
>>> @@ -2735,7 +2743,10 @@ read-passwd
>>>                (erase-buffer)
>>>                ;; Then restore the previous text conversion style.
>>>                (when (fboundp 'set-text-conversion-style)
>>> -                (set-text-conversion-style text-conversion-style))))))=
)))
>>> +                (set-text-conversion-style text-conversion-style))))))
>>> +      (when (eq 0 depth)
>>> +        (setq read-passwd--previous-depth nil)
>>> +        (read-passwd-mode -1)))))
>>>
>>>  (provide 'auth-source)
>>>
>>>
>>> It's quite a bit more complex than the first patch, but I couldn't find
>>> a simpler way that works for both test cases.  Maybe the second test
>>> case is too improbable as a real use case to warrant the added code
>>> complexity.
>>>
>>
>> With this patch, only the innermost two password prompts have their
>> passwords hidden.
>> For example with this function defined:
>>
>> (defun mwe-inner ()
>>   (interactive)
>>   (read-passwd "Inner password prompt (press RET): "))
>>
>> (global-set-key (kbd "C-c r") #'mwe-inner)
>>
>> Execute "C-c r" 3 times, and then exit out of the minibuffer by pressing
>> RET the last prompt will not have its password hidden.
>>
>> Similarly if you will call "C-c r" 4 times, the outermost 2 prompts will
>> not have their passwords hidden.
>
> Does this patch prevent the problem? It is not a suggested patch as
> read-passwd--hide-password seems to do two very different things, and
> should probably be split into two variables. Also, something should
> probably be done about read-passwd--mode-line-icon.

Yes this patch works.

>
> From 158d518a3baee47335dd0fb9a5bd8876e9a248df Mon Sep 17 00:00:00 2001
> From: Pip Cet <pipcet@HIDDEN>
> Date: Fri, 17 Apr 2026 16:00:08 +0000
> Subject: [PATCH] Make read-passwd--hide-password local (bug#80838)
>
> * lisp/auth-source.el (read-passwd--hide-password): Use
> 'defvar-local', not 'defvar'.
> ---
>  lisp/auth-source.el | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/lisp/auth-source.el b/lisp/auth-source.el
> index 6cdea11c1ee..5b8e40e9a94 100644
> --- a/lisp/auth-source.el
> +++ b/lisp/auth-source.el
> @@ -2602,7 +2602,7 @@ read-passwd--hide-password-icon
>  (defvar read-passwd--mode-line-icon nil
>    "Propertized mode line icon for showing/hiding passwords.")
>
> -(defvar read-passwd--hide-password t
> +(defvar-local read-passwd--hide-password t
>    "Toggle whether password should be hidden in minibuffer.")
>
>  (defun read-passwd--hide-password ()
> --
> 2.53.0
>

--=20
=E0=A4=B8=E0=A4=AE=E0=A5=80=E0=A4=B0=E0=A4=B8=E0=A4=BF=E0=A4=82=E0=A4=B9




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#80838; Package emacs. Full text available.

Message received at 80838 <at> debbugs.gnu.org:


Received: (at 80838) by debbugs.gnu.org; 17 Apr 2026 16:05:20 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Apr 17 12:05:20 2026
Received: from localhost ([127.0.0.1]:37154 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1wDlh1-0004Wi-Nm
	for submit <at> debbugs.gnu.org; Fri, 17 Apr 2026 12:05:20 -0400
Received: from mail-4322.protonmail.ch ([185.70.43.22]:37189)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <pipcet@HIDDEN>)
 id 1wDlgy-0004Tc-8f
 for 80838 <at> debbugs.gnu.org; Fri, 17 Apr 2026 12:05:17 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com;
 s=protonmail3; t=1776441901; x=1776701101;
 bh=O+uwe6RZcYuepZG5YZEY7Ev2eMuSANt0hcP9/4CMKSw=;
 h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References:
 Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID:
 Message-ID:BIMI-Selector;
 b=U5NbyKmtnP0QOoF/d0XQnhNvgXZdlTL/oQO9WrLW2R2qPam/wY0TviZe+tPEi1xw3
 g74B5+/WptbEyR/bgdIGj49ELb0CvnIn5H9kbk/Xm8C+lTmzUQHp1Z/8uw+zSK9Nkp
 DIIpz9sfeocbHpLtbmBtjH+G1vhNMHnW2To/z519I/B/CMDqXNJsBiCsaSsybLRlSE
 dW0da7IYMcLDd45va1Si16wTHg40eJwGEcnyAUzgV6lfL5ZVvp9DTXkwYuVsip5kmz
 kbSVPiypPqXYU98DS9WngKXiN7oFgjJA8Je+9XvGNuQg6mwGWjZySbd90+xyetraae
 u2NHGII4IGY4Q==
Date: Fri, 17 Apr 2026 16:04:53 +0000
To: =?utf-8?B?4KS44KSu4KWA4KSwIOCkuOCkv+CkguCkuSBTYW1lZXIgU2luZ2g=?=
 <lumarzeli30@HIDDEN>
From: Pip Cet <pipcet@HIDDEN>
Subject: Re: bug#80838: 31.0.50;
 `read-passwd' password visible after returning from recursive
 minibuffer
Message-ID: <87fr4t8te2.fsf@HIDDEN>
In-Reply-To: <CAOR1sLzqfGDh_F0ecwdd6uxdDWy2UCeogug7ODn+ovokNwq4rw@HIDDEN>
References: <CAOR1sLyP2K-QD5NEyafwvv2CLKZps9EUkXMGKtr-JbkMjq7P7g@HIDDEN>
 <CAOR1sLyzyoG6YZJ-O2VvRr96P_jyy9mcVBVJO8tKusmbiKdPCA@HIDDEN>
 <87y0iliw9j.fsf@HIDDEN>
 <CAOR1sLzqfGDh_F0ecwdd6uxdDWy2UCeogug7ODn+ovokNwq4rw@HIDDEN>
Feedback-ID: 112775352:user:proton
X-Pm-Message-ID: ee6c637dee7986598fcf1af69816c0ccc12e126f
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 80838
Cc: Stephen Berman <stephen.berman@HIDDEN>, 80838 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

=E0=A4=B8=E0=A4=AE=E0=A5=80=E0=A4=B0 =E0=A4=B8=E0=A4=BF=E0=A4=82=E0=A4=
=B9 Sameer Singh <lumarzeli30@HIDDEN> writes:

> Stephen Berman <stephen.berman@HIDDEN> writes:
>
>> On Thu, 16 Apr 2026 14:06:53 +0530 =E0=A4=B8=E0=A4=AE=E0=A5=80=E0=A4=
=B0 =E0=A4=B8=E0=A4=BF=E0=A4=82=E0=A4=B9 Sameer Singh <lumarzeli30@HIDDEN=
m> wrote:
>>
>>> Magit asks for my SSH password when I have to push some changes, I then
>>> use keepass.el to retrieve my password. keepass.el then in turn asks fo=
r
>>> the master password for my password store, after successfully retrievin=
g
>>> my password from keepass, I return back to the magit password prompt in
>>> the same minibuffer. Now when I paste the password here, the password i=
s not
>>> hidden anymore.
>>>
>>> Steps to reproduce:
>>> 1. emacs -Q
>>> 2. Paste this text and then M-x eval-buffer:
>>>
>>> (defun mwe-inner ()
>>>   (interactive)
>>>   (read-passwd "Inner password prompt (press RET): "))
>>>
>>> (global-set-key (kbd "C-c r") #'mwe-inner)
>>>
>>> (defun mwe-test ()
>>>   (interactive)
>>>   (read-passwd "Outer password (use C-c r and then come back): "))
>>>
>>> 3. M-x mwe-test
>>> 4. C-c r
>>> 5. Type something. The text will be hidden. Press RET
>>> 5. Now when coming back to the mwe-test prompt, type something again,
>>> the text is no longer hidden
>>
>> With this recipe I can reproduce the problem, and the following patch
>> prevents it for me:
>>
>> diff --git a/lisp/auth-source.el b/lisp/auth-source.el
>> index 6cdea11c1ee..3c48e4e7b53 100644
>> --- a/lisp/auth-source.el
>> +++ b/lisp/auth-source.el
>> @@ -2722,7 +2722,7 @@ read-passwd
>>  =09=09  (read-hide-char (or read-hide-char ?*))
>>                    (overriding-text-conversion-style 'password))
>>                (read-string prompt nil t default)) ; t =3D "no history"
>> -          (when (buffer-live-p minibuf)
>> +          (when (and (buffer-live-p minibuf) (eq 0 (minibuffer-depth)))
>>              (with-current-buffer minibuf
>>                (read-passwd-mode -1)
>>                ;; Not sure why but it seems that there might be cases wh=
ere the
>>
>> However, after applying this patch now consider the following recipe:
>>
>> 1. emacs -Q
>> 2. As in the above recipe.
>> 3. C-x C-f
>> 4. as above
>> 5. as above
>> 6. Now we're back at the find-file prompt, and entering a file name
>>    works fine, i.e., it's not hidden; however, the mode line wrongly
>>    stills displays the icon `read-passwd--show-password-icon'.
>
> With this patch applied, the minibuffer cleanup will never occur if
> `read-passwd' is not the first command called in the minibuffer right?
> For example in this scenario:
> 1. M-x foo
> 2. <calling read-passwd>
>
>
>>
>> The following patch prevents the unwanted icon in the mode in this case
>> and also DTRT for your test case above:
>>
>> diff --git a/lisp/auth-source.el b/lisp/auth-source.el
>> index 6cdea11c1ee..42a3a67fd3c 100644
>> --- a/lisp/auth-source.el
>> +++ b/lisp/auth-source.el
>> @@ -2675,6 +2675,8 @@ read-passwd-mode
>>    (when read-passwd-mode
>>      (read-passwd-toggle-visibility)))
>>
>> +(defvar read-passwd--previous-depth nil)
>> +
>>  (defvar overriding-text-conversion-style)
>>
>>  ;;;###autoload
>> @@ -2703,7 +2705,12 @@ read-passwd
>>                (message "Password not repeated accurately; please start =
over")
>>                (sit-for 1))))
>>          success)
>> -    (let (minibuf)
>> +    (let ((depth (minibuffer-depth))
>> +          minibuf)
>> +      (if read-passwd--previous-depth
>> +          (when (> depth 0)
>> +            (setq read-passwd--previous-depth (1- depth)))
>> +        (setq read-passwd--previous-depth t))
>>        (minibuffer-with-setup-hook
>>            (lambda ()
>>              (setq minibuf (current-buffer))
>> @@ -2722,12 +2729,13 @@ read-passwd
>>  =09=09  (read-hide-char (or read-hide-char ?*))
>>                    (overriding-text-conversion-style 'password))
>>                (read-string prompt nil t default)) ; t =3D "no history"
>> -          (when (buffer-live-p minibuf)
>> +          (when (and (buffer-live-p minibuf)
>> +                     (not (eq read-passwd--previous-depth (1- depth))))
>>              (with-current-buffer minibuf
>>                (read-passwd-mode -1)
>> -              ;; Not sure why but it seems that there might be cases wh=
ere the
>> -              ;; minibuffer is not always properly reset later on, so u=
ndo
>> -              ;; whatever we've done here (bug#11392).
>> +              ;; Not sure why but it seems that there might be cases
>> +              ;; where the minibuffer is not always properly reset late=
r
>> +              ;; on, so undo whatever we've done here (bug#11392).
>>                (remove-hook 'post-command-hook
>>                             #'read-passwd--hide-password 'local)
>>                (kill-local-variable 'post-self-insert-hook)
>> @@ -2735,7 +2743,10 @@ read-passwd
>>                (erase-buffer)
>>                ;; Then restore the previous text conversion style.
>>                (when (fboundp 'set-text-conversion-style)
>> -                (set-text-conversion-style text-conversion-style)))))))=
))
>> +                (set-text-conversion-style text-conversion-style))))))
>> +      (when (eq 0 depth)
>> +        (setq read-passwd--previous-depth nil)
>> +        (read-passwd-mode -1)))))
>>
>>  (provide 'auth-source)
>>
>>
>> It's quite a bit more complex than the first patch, but I couldn't find
>> a simpler way that works for both test cases.  Maybe the second test
>> case is too improbable as a real use case to warrant the added code
>> complexity.
>>
>
> With this patch, only the innermost two password prompts have their
> passwords hidden.
> For example with this function defined:
>
> (defun mwe-inner ()
>   (interactive)
>   (read-passwd "Inner password prompt (press RET): "))
>
> (global-set-key (kbd "C-c r") #'mwe-inner)
>
> Execute "C-c r" 3 times, and then exit out of the minibuffer by pressing
> RET the last prompt will not have its password hidden.
>
> Similarly if you will call "C-c r" 4 times, the outermost 2 prompts will
> not have their passwords hidden.

Does this patch prevent the problem? It is not a suggested patch as
read-passwd--hide-password seems to do two very different things, and
should probably be split into two variables. Also, something should
probably be done about read-passwd--mode-line-icon.

From 158d518a3baee47335dd0fb9a5bd8876e9a248df Mon Sep 17 00:00:00 2001
From: Pip Cet <pipcet@HIDDEN>
Date: Fri, 17 Apr 2026 16:00:08 +0000
Subject: [PATCH] Make read-passwd--hide-password local (bug#80838)

* lisp/auth-source.el (read-passwd--hide-password): Use
'defvar-local', not 'defvar'.
---
 lisp/auth-source.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lisp/auth-source.el b/lisp/auth-source.el
index 6cdea11c1ee..5b8e40e9a94 100644
--- a/lisp/auth-source.el
+++ b/lisp/auth-source.el
@@ -2602,7 +2602,7 @@ read-passwd--hide-password-icon
 (defvar read-passwd--mode-line-icon nil
   "Propertized mode line icon for showing/hiding passwords.")
=20
-(defvar read-passwd--hide-password t
+(defvar-local read-passwd--hide-password t
   "Toggle whether password should be hidden in minibuffer.")
=20
 (defun read-passwd--hide-password ()
--=20
2.53.0





Information forwarded to bug-gnu-emacs@HIDDEN:
bug#80838; Package emacs. Full text available.

Message received at 80838 <at> debbugs.gnu.org:


Received: (at 80838) by debbugs.gnu.org; 17 Apr 2026 13:57:57 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Apr 17 09:57:57 2026
Received: from localhost ([127.0.0.1]:35954 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1wDjhk-0002rC-Gy
	for submit <at> debbugs.gnu.org; Fri, 17 Apr 2026 09:57:57 -0400
Received: from mail-ej1-x635.google.com ([2a00:1450:4864:20::635]:42401)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <lumarzeli30@HIDDEN>)
 id 1wDjhg-0002qy-8C
 for 80838 <at> debbugs.gnu.org; Fri, 17 Apr 2026 09:57:55 -0400
Received: by mail-ej1-x635.google.com with SMTP id
 a640c23a62f3a-b9c745e18a0so138862166b.1
 for <80838 <at> debbugs.gnu.org>; Fri, 17 Apr 2026 06:57:52 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; t=1776434270; cv=none;
 d=google.com; s=arc-20240605;
 b=lPEbAkFfwU2pAvV/S9e2Cg2rIod8KMRkvIuDpiT2LyFPc+2R1IlJowrwo93w34h2Ab
 kK6j65M9/2HPNSW7H20fioEf6CGJWFfWvySppJLSxQdTbt2iViqyRUMq1Z2r2dvo/ZDW
 KX99aJeYweSIhXOPx1VPumRpeeHqaLJ/oFy3GWlQV+XOUVnkxwXM/to+RqFfPTG8s61F
 1u0bT2ODhQdWB0zRkAKkCVaKYBAn1JY9J4+j91E2o/m+YaHQbrvM6K8/76ik+fpCAQG2
 c89QvCK7vWfjoqMdKpD2dtlATv4OtAbGPBhqcKZm+82EkweTR1avmlFIb2pF8UrhiS22
 ILEw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com;
 s=arc-20240605; 
 h=content-transfer-encoding:cc:to:subject:message-id:date
 :mime-version:references:in-reply-to:from:dkim-signature;
 bh=g2ASkPhq62fkp1H4ru+R6+orhFb0+2qckuaZV5eUCZA=;
 fh=BttxYIqh3ZjFuFAXOnxiujwSlArRdTeDCFLsYYH73jU=;
 b=ILheIYecKbNHW0GgcRg3QKNwBJ35Z3PpMq3gjqDBux8II2RYy5NXumNhJ74dUdZBmI
 VETtOW5u20zfpSLY2IsxYvpM2JC9ZoCiv9/rCBrzVBRCcRq6lB6UfGUDJBj2iZarjjGA
 /UDC/h+5NrgdM5jKOUWxjQWjfmOP8n+LrPZvvW7aGQ8TP9gLwBYWiboNQ55Fj4yOh14q
 TQAyB1bwF+euhEXixRiJdUORHzt/rcKeqjxyKGMYkdTxt7fQseEou5NX9efxL2vrDOe+
 2agSr1+jsCnaSDyTLG0JZSkHQibNoVFOg3iwVyyxB5bqF6N33wWZFkjR8I0oWlqLqqzC
 ldfg==; darn=debbugs.gnu.org
ARC-Authentication-Results: i=1; mx.google.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20251104; t=1776434270; x=1777039070; darn=debbugs.gnu.org;
 h=content-transfer-encoding:cc:to:subject:message-id:date
 :mime-version:references:in-reply-to:from:from:to:cc:subject:date
 :message-id:reply-to;
 bh=g2ASkPhq62fkp1H4ru+R6+orhFb0+2qckuaZV5eUCZA=;
 b=Y6b0J456ri5JLhaax9cp4USCSmMqKZJp9K2XTUtN7LHfGbue7Usvk2XoMnP1gpjBi/
 HkaXAU5lCBayfecEuTTz0VwIPBIRC1x+SQOM2PZEvSotD+QoiFvGlp71hFag1ILxW5DU
 MJ73exqB2NP4/axoES7aLmR4i1EWofWAGuBP9xwBjdYl3kMcAvtxD8JBPurL1pDw6bDL
 OgYH9yz5EFf6+cZEXUxhmKcnUk6Pg3o+AM9tfwU6Kacn38Tmnj5YTojVK56+Nqqbg3E/
 CpkyyQfKWCRTl4n0SkJo28/pF1O3v+zBZ6x0kpgTRU9UPTXzus9MqYC4lP1QlZNrKcT6
 tabA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20251104; t=1776434270; x=1777039070;
 h=content-transfer-encoding:cc:to:subject:message-id:date
 :mime-version:references:in-reply-to:from:x-gm-gg:x-gm-message-state
 :from:to:cc:subject:date:message-id:reply-to;
 bh=g2ASkPhq62fkp1H4ru+R6+orhFb0+2qckuaZV5eUCZA=;
 b=enyWH5IP14SaVoXpzVDi18PH99XVbzpX51GuZARMYKRNgeTcTk0YzgvE+szndNdZZm
 APZ7ZUvXOZOXeQncaj3qGbJtQkNrWF+z6kUh9qKIRoq5JcYUXnWWmoun91s9GX2keorG
 y2AKMFA/+7UBpwT5ppTmkAXmEP4vLoLSuN4Xxi5vu1qQ8OH6Vib0XpaN3cfkueCds9Ni
 FY15gWC2M+W/TpipnGV5mnvV101HdPtT4SXasvAaIUml0Xq1Fr06b1YeT56ryKnhxTnT
 DWcTadH2a3s+oNMtJ/7wsqVtQ9/+Mncx1bpJHrivZRjEIXTgnChfDaVHkIXyShx6G5LQ
 OK/w==
X-Gm-Message-State: AOJu0YzeF1VPsLDqvgCjZnsTdpT+hTu0ZBmMgJQgzN5nwwgkvSEtcyu2
 AKemTHVzkWlA8I290td9hCO9hf91LdKrtQhE8Zt7KJqNySfmi2q62NuMAXVPdgcFRUglLbCyahN
 GeMKOF5CDrsRGJKJQTI5N6dF4/mQMTM9upA==
X-Gm-Gg: AeBDiet16gOvq0+EAEZEC3jcHnNzS1sLJnIP9aL5+sD2J+hxsjusG87b80TulMe0CGG
 ACYQlNtTww1pzaC4VKSl+7MMKCmkRkW57r4jFxn/7RKiFkc4kow57t+gnyxI8cGDUgOALL6Uz1Y
 iObsiL/yqQScmBBh4y818q+xw3Zn8+JmfIJdsIw+adPQHpTv7utJi2JiP6iTy+XrX8B7h7Oy0qk
 5fzqcfh6NhAjR4AZxSnIwcKBZVaFVX+UHQ0qBdm6NjXfk3EbYk5Rau3OzX1awnwLqtRCPmObnoN
 g1vDEA07JwOp71d37ZJZE1+pNTrNHdTVtNdWxf4J6hVtTCWTKMf/uLk6iprLjQ==
X-Received: by 2002:a17:907:a088:b0:ba0:9335:b133 with SMTP id
 a640c23a62f3a-ba422add0eamr155594266b.11.1776434270239; Fri, 17 Apr 2026
 06:57:50 -0700 (PDT)
Received: from 753933720722 named unknown by gmailapi.google.com with
 HTTPREST; Fri, 17 Apr 2026 06:57:48 -0700
Received: from 753933720722 named unknown by gmailapi.google.com with
 HTTPREST; Fri, 17 Apr 2026 06:57:48 -0700
From: =?UTF-8?B?4KS44KSu4KWA4KSwIOCkuOCkv+CkguCkuSBTYW1lZXIgU2luZ2g=?=
 <lumarzeli30@HIDDEN>
In-Reply-To: <87y0iliw9j.fsf@HIDDEN>
References: <CAOR1sLyP2K-QD5NEyafwvv2CLKZps9EUkXMGKtr-JbkMjq7P7g@HIDDEN>
 <CAOR1sLyzyoG6YZJ-O2VvRr96P_jyy9mcVBVJO8tKusmbiKdPCA@HIDDEN>
 <87y0iliw9j.fsf@HIDDEN>
MIME-Version: 1.0
Date: Fri, 17 Apr 2026 06:57:48 -0700
X-Gm-Features: AQROBzBtssRqWvJm022mi1cw5mHWAg_SBVp2ejOAuGHtevG54WBbJq2qYBsxDec
Message-ID: <CAOR1sLzqfGDh_F0ecwdd6uxdDWy2UCeogug7ODn+ovokNwq4rw@HIDDEN>
Subject: Re: bug#80838: 31.0.50; `read-passwd' password visible after
 returning from recursive minibuffer
To: Stephen Berman <stephen.berman@HIDDEN>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 1.3 (+)
X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org",
 has NOT identified this incoming email as spam.  The original
 message has been attached to this so you can view it or label
 similar future email.  If you have any questions, see
 the administrator of that system for details.
 
 Content preview:  Stephen Berman writes: > On Thu, 16 Apr 2026 14:06:53 +0530
    समीर सिंह Sameer Singh wrote: > >> Magit asks for my SSH
   password when I have to push some changes, I then >> use keepass.el to retrieve
    my passw [...] 
 
 Content analysis details:   (1.3 points, 10.0 required)
 
  pts rule name              description
 ---- ---------------------- --------------------------------------------------
 -0.0 SPF_PASS               SPF: sender matches SPF record
  0.0 SPF_HELO_NONE          SPF: HELO does not publish an SPF Record
  0.2 FREEMAIL_ENVFROM_END_DIGIT Envelope-from freemail username ends
                             in digit (lumarzeli30[at]gmail.com)
  1.0 FORGED_GMAIL_RCVD      'From' gmail.com does not match 'Received'
                             headers
  0.0 FREEMAIL_FROM          Sender email is commonly abused enduser mail
                             provider (lumarzeli30[at]gmail.com)
 -0.0 RCVD_IN_DNSWL_NONE     RBL: Sender listed at https://www.dnswl.org/,
                              no trust
                             [2a00:1450:4864:20:0:0:0:635 listed in]
                             [list.dnswl.org]
  0.0 UNPARSEABLE_RELAY      Informational: message has unparseable relay
                             lines
X-Debbugs-Envelope-To: 80838
Cc: 80838 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: 0.3 (/)

Stephen Berman <stephen.berman@HIDDEN> writes:

> On Thu, 16 Apr 2026 14:06:53 +0530 =E0=A4=B8=E0=A4=AE=E0=A5=80=E0=A4=B0 =
=E0=A4=B8=E0=A4=BF=E0=A4=82=E0=A4=B9 Sameer Singh <lumarzeli30@HIDDEN> w=
rote:
>
>> Magit asks for my SSH password when I have to push some changes, I then
>> use keepass.el to retrieve my password. keepass.el then in turn asks for
>> the master password for my password store, after successfully retrieving
>> my password from keepass, I return back to the magit password prompt in
>> the same minibuffer. Now when I paste the password here, the password is=
 not
>> hidden anymore.
>>
>> Steps to reproduce:
>> 1. emacs -Q
>> 2. Paste this text and then M-x eval-buffer:
>>
>> (defun mwe-inner ()
>>   (interactive)
>>   (read-passwd "Inner password prompt (press RET): "))
>>
>> (global-set-key (kbd "C-c r") #'mwe-inner)
>>
>> (defun mwe-test ()
>>   (interactive)
>>   (read-passwd "Outer password (use C-c r and then come back): "))
>>
>> 3. M-x mwe-test
>> 4. C-c r
>> 5. Type something. The text will be hidden. Press RET
>> 5. Now when coming back to the mwe-test prompt, type something again,
>> the text is no longer hidden
>
> With this recipe I can reproduce the problem, and the following patch
> prevents it for me:
>
> diff --git a/lisp/auth-source.el b/lisp/auth-source.el
> index 6cdea11c1ee..3c48e4e7b53 100644
> --- a/lisp/auth-source.el
> +++ b/lisp/auth-source.el
> @@ -2722,7 +2722,7 @@ read-passwd
>  		  (read-hide-char (or read-hide-char ?*))
>                    (overriding-text-conversion-style 'password))
>                (read-string prompt nil t default)) ; t =3D "no history"
> -          (when (buffer-live-p minibuf)
> +          (when (and (buffer-live-p minibuf) (eq 0 (minibuffer-depth)))
>              (with-current-buffer minibuf
>                (read-passwd-mode -1)
>                ;; Not sure why but it seems that there might be cases whe=
re the
>
> However, after applying this patch now consider the following recipe:
>
> 1. emacs -Q
> 2. As in the above recipe.
> 3. C-x C-f
> 4. as above
> 5. as above
> 6. Now we're back at the find-file prompt, and entering a file name
>    works fine, i.e., it's not hidden; however, the mode line wrongly
>    stills displays the icon `read-passwd--show-password-icon'.

With this patch applied, the minibuffer cleanup will never occur if
`read-passwd' is not the first command called in the minibuffer right?
For example in this scenario:
1. M-x foo
2. <calling read-passwd>


>
> The following patch prevents the unwanted icon in the mode in this case
> and also DTRT for your test case above:
>
> diff --git a/lisp/auth-source.el b/lisp/auth-source.el
> index 6cdea11c1ee..42a3a67fd3c 100644
> --- a/lisp/auth-source.el
> +++ b/lisp/auth-source.el
> @@ -2675,6 +2675,8 @@ read-passwd-mode
>    (when read-passwd-mode
>      (read-passwd-toggle-visibility)))
>
> +(defvar read-passwd--previous-depth nil)
> +
>  (defvar overriding-text-conversion-style)
>
>  ;;;###autoload
> @@ -2703,7 +2705,12 @@ read-passwd
>                (message "Password not repeated accurately; please start o=
ver")
>                (sit-for 1))))
>          success)
> -    (let (minibuf)
> +    (let ((depth (minibuffer-depth))
> +          minibuf)
> +      (if read-passwd--previous-depth
> +          (when (> depth 0)
> +            (setq read-passwd--previous-depth (1- depth)))
> +        (setq read-passwd--previous-depth t))
>        (minibuffer-with-setup-hook
>            (lambda ()
>              (setq minibuf (current-buffer))
> @@ -2722,12 +2729,13 @@ read-passwd
>  		  (read-hide-char (or read-hide-char ?*))
>                    (overriding-text-conversion-style 'password))
>                (read-string prompt nil t default)) ; t =3D "no history"
> -          (when (buffer-live-p minibuf)
> +          (when (and (buffer-live-p minibuf)
> +                     (not (eq read-passwd--previous-depth (1- depth))))
>              (with-current-buffer minibuf
>                (read-passwd-mode -1)
> -              ;; Not sure why but it seems that there might be cases whe=
re the
> -              ;; minibuffer is not always properly reset later on, so un=
do
> -              ;; whatever we've done here (bug#11392).
> +              ;; Not sure why but it seems that there might be cases
> +              ;; where the minibuffer is not always properly reset later
> +              ;; on, so undo whatever we've done here (bug#11392).
>                (remove-hook 'post-command-hook
>                             #'read-passwd--hide-password 'local)
>                (kill-local-variable 'post-self-insert-hook)
> @@ -2735,7 +2743,10 @@ read-passwd
>                (erase-buffer)
>                ;; Then restore the previous text conversion style.
>                (when (fboundp 'set-text-conversion-style)
> -                (set-text-conversion-style text-conversion-style))))))))=
)
> +                (set-text-conversion-style text-conversion-style))))))
> +      (when (eq 0 depth)
> +        (setq read-passwd--previous-depth nil)
> +        (read-passwd-mode -1)))))
>
>  (provide 'auth-source)
>
>
> It's quite a bit more complex than the first patch, but I couldn't find
> a simpler way that works for both test cases.  Maybe the second test
> case is too improbable as a real use case to warrant the added code
> complexity.
>

With this patch, only the innermost two password prompts have their
passwords hidden.
For example with this function defined:

(defun mwe-inner ()
  (interactive)
  (read-passwd "Inner password prompt (press RET): "))

(global-set-key (kbd "C-c r") #'mwe-inner)

Execute "C-c r" 3 times, and then exit out of the minibuffer by pressing
RET the last prompt will not have its password hidden.

Similarly if you will call "C-c r" 4 times, the outermost 2 prompts will
not have their passwords hidden.


> Steve Berman

--=20
=E0=A4=B8=E0=A4=AE=E0=A5=80=E0=A4=B0=E0=A4=B8=E0=A4=BF=E0=A4=82=E0=A4=B9




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#80838; Package emacs. Full text available.

Message received at 80838 <at> debbugs.gnu.org:


Received: (at 80838) by debbugs.gnu.org; 17 Apr 2026 12:53:07 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Apr 17 08:53:07 2026
Received: from localhost ([127.0.0.1]:34520 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1wDih1-0005nk-6n
	for submit <at> debbugs.gnu.org; Fri, 17 Apr 2026 08:53:07 -0400
Received: from mout.gmx.net ([212.227.17.20]:51281)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <stephen.berman@HIDDEN>)
 id 1wDigx-0005mz-Ou
 for 80838 <at> debbugs.gnu.org; Fri, 17 Apr 2026 08:53:04 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.net;
 s=s31663417; t=1776430377; x=1777035177; i=stephen.berman@HIDDEN;
 bh=7zuu0S2UsQO0iSnRZR4MrhiL2gnFPQkSd2ZAU1Q3RW4=;
 h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References:Date:
 Message-ID:MIME-Version:Content-Type:cc:content-transfer-encoding:
 content-type:date:from:message-id:mime-version:reply-to:subject:
 to;
 b=d6fm5hd59oNFtWHdX8500RBAPe6ye8CeuoUZ5pTPnl13S/S3jFZFN7UxpbxIWp/j
 2QhkeULUVBO7DhdhsfB2onnOhATXGvbr2tWmfKcTilR0IQC5uOpbr4kSpgKnBfjKS
 UBbqc4BcgSRinaarOYgT7m8yP1xsCqSbEU/kSlBfM9OMkJbSu39Yzb62tEQ6DoHTD
 cgtWal8gGrloKTquvllCmigI8aeCv8esy5ZTZ/QkfrQ2bjrPtdOjBbw8nS5NrHe+d
 rHnjAfT93pkBkJ58k3R3SWhYXReoKhFJDpQMYj0w7axzDVQe9sA0L0+aL2rdggzys
 60HbiGh8qK07nfjxvg==
X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a
Received: from client.hidden.invalid by mail.gmx.net (mrgmx105
 [212.227.17.168]) with ESMTPSA (Nemesis) id 1N1fmq-1vGUHw3z4K-00w4VI; Fri, 17
 Apr 2026 14:52:57 +0200
From: Stephen Berman <stephen.berman@HIDDEN>
To: =?utf-8?B?4KS44KSu4KWA4KSwIOCkuOCkv+CkguCkuSBTYW1lZXIgU2luZ2g=?=
 <lumarzeli30@HIDDEN>
Subject: Re: bug#80838: 31.0.50; `read-passwd' password visible after
 returning from recursive minibuffer
In-Reply-To: <CAOR1sLyzyoG6YZJ-O2VvRr96P_jyy9mcVBVJO8tKusmbiKdPCA@HIDDEN>
References: <CAOR1sLyP2K-QD5NEyafwvv2CLKZps9EUkXMGKtr-JbkMjq7P7g@HIDDEN>
 <CAOR1sLyzyoG6YZJ-O2VvRr96P_jyy9mcVBVJO8tKusmbiKdPCA@HIDDEN>
Date: Fri, 17 Apr 2026 14:52:56 +0200
Message-ID: <87y0iliw9j.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=-=-="
X-Provags-ID: V03:K1:RRl+H4zo6ZLJu/Mc/QX23Yv1IpaAIbb/JdrXIJmFBOShl5dk76+
 hVPMdZ5VG1C3ArXHLmgpvqvhDTbc5MVVtLMGbGeXit2qCr41ldIBZoodn9zaFLRXK2yfuUM
 3M6nJYnGb9Y6bRGeaSsidgLnQAXzh1G21nwWlU8/HMGMR42boTJKoZRIISIY73llJV9y2yt
 qP4xrzks2x+MRXUHqXnCw==
X-Spam-Flag: NO
UI-OutboundReport: notjunk:1;M01:P0:aQeRA/6SclM=;1gLhdNkPXreP+2F6SohRlE0Ftri
 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
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 80838
Cc: 80838 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

--=-=-=
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

On Thu, 16 Apr 2026 14:06:53 +0530 =E0=A4=B8=E0=A4=AE=E0=A5=80=E0=A4=B0 =E0=
=A4=B8=E0=A4=BF=E0=A4=82=E0=A4=B9 Sameer Singh <lumarzeli30@HIDDEN> wrot=
e:

> Magit asks for my SSH password when I have to push some changes, I then
> use keepass.el to retrieve my password. keepass.el then in turn asks for
> the master password for my password store, after successfully retrieving
> my password from keepass, I return back to the magit password prompt in
> the same minibuffer. Now when I paste the password here, the password is =
not
> hidden anymore.
>
> Steps to reproduce:
> 1. emacs -Q
> 2. Paste this text and then M-x eval-buffer:
>
> (defun mwe-inner ()
>   (interactive)
>   (read-passwd "Inner password prompt (press RET): "))
>
> (global-set-key (kbd "C-c r") #'mwe-inner)
>
> (defun mwe-test ()
>   (interactive)
>   (read-passwd "Outer password (use C-c r and then come back): "))
>
> 3. M-x mwe-test
> 4. C-c r
> 5. Type something. The text will be hidden. Press RET
> 5. Now when coming back to the mwe-test prompt, type something again,
> the text is no longer hidden

With this recipe I can reproduce the problem, and the following patch
prevents it for me:


--=-=-=
Content-Type: text/x-patch
Content-Disposition: inline
Content-Description: read-passwd patch

diff --git a/lisp/auth-source.el b/lisp/auth-source.el
index 6cdea11c1ee..3c48e4e7b53 100644
--- a/lisp/auth-source.el
+++ b/lisp/auth-source.el
@@ -2722,7 +2722,7 @@ read-passwd
 		  (read-hide-char (or read-hide-char ?*))
                   (overriding-text-conversion-style 'password))
               (read-string prompt nil t default)) ; t = "no history"
-          (when (buffer-live-p minibuf)
+          (when (and (buffer-live-p minibuf) (eq 0 (minibuffer-depth)))
             (with-current-buffer minibuf
               (read-passwd-mode -1)
               ;; Not sure why but it seems that there might be cases where the

--=-=-=
Content-Type: text/plain


However, after applying this patch now consider the following recipe:

1. emacs -Q
2. As in the above recipe.
3. C-x C-f
4. as above
5. as above
6. Now we're back at the find-file prompt, and entering a file name
   works fine, i.e., it's not hidden; however, the mode line wrongly
   stills displays the icon `read-passwd--show-password-icon'.

The following patch prevents the unwanted icon in the mode in this case
and also DTRT for your test case above:


--=-=-=
Content-Type: text/x-patch
Content-Disposition: attachment
Content-Description: read-passwd patch 2
Content-Transfer-Encoding: quoted-printable

diff --git a/lisp/auth-source.el b/lisp/auth-source.el
index 6cdea11c1ee..42a3a67fd3c 100644
=2D-- a/lisp/auth-source.el
+++ b/lisp/auth-source.el
@@ -2675,6 +2675,8 @@ read-passwd-mode
   (when read-passwd-mode
     (read-passwd-toggle-visibility)))
=20
+(defvar read-passwd--previous-depth nil)
+
 (defvar overriding-text-conversion-style)
=20
 ;;;###autoload
@@ -2703,7 +2705,12 @@ read-passwd
               (message "Password not repeated accurately; please start ov=
er")
               (sit-for 1))))
         success)
-    (let (minibuf)
+    (let ((depth (minibuffer-depth))
+          minibuf)
+      (if read-passwd--previous-depth
+          (when (> depth 0)
+            (setq read-passwd--previous-depth (1- depth)))
+        (setq read-passwd--previous-depth t))
       (minibuffer-with-setup-hook
           (lambda ()
             (setq minibuf (current-buffer))
@@ -2722,12 +2729,13 @@ read-passwd
 		  (read-hide-char (or read-hide-char ?*))
                   (overriding-text-conversion-style 'password))
               (read-string prompt nil t default)) ; t =3D "no history"
-          (when (buffer-live-p minibuf)
+          (when (and (buffer-live-p minibuf)
+                     (not (eq read-passwd--previous-depth (1- depth))))
             (with-current-buffer minibuf
               (read-passwd-mode -1)
-              ;; Not sure why but it seems that there might be cases wher=
e the
-              ;; minibuffer is not always properly reset later on, so und=
o
-              ;; whatever we've done here (bug#11392).
+              ;; Not sure why but it seems that there might be cases
+              ;; where the minibuffer is not always properly reset later
+              ;; on, so undo whatever we've done here (bug#11392).
               (remove-hook 'post-command-hook
                            #'read-passwd--hide-password 'local)
               (kill-local-variable 'post-self-insert-hook)
@@ -2735,7 +2743,10 @@ read-passwd
               (erase-buffer)
               ;; Then restore the previous text conversion style.
               (when (fboundp 'set-text-conversion-style)
-                (set-text-conversion-style text-conversion-style)))))))))
+                (set-text-conversion-style text-conversion-style))))))
+      (when (eq 0 depth)
+        (setq read-passwd--previous-depth nil)
+        (read-passwd-mode -1)))))
=20
 (provide 'auth-source)
=20

--=-=-=
Content-Type: text/plain


It's quite a bit more complex than the first patch, but I couldn't find
a simpler way that works for both test cases.  Maybe the second test
case is too improbable as a real use case to warrant the added code
complexity.

Steve Berman

--=-=-=--




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#80838; Package emacs. Full text available.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 16 Apr 2026 08:37:34 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Apr 16 04:37:33 2026
Received: from localhost ([127.0.0.1]:50655 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1wDIE6-0000WC-15
	for submit <at> debbugs.gnu.org; Thu, 16 Apr 2026 04:37:33 -0400
Received: from lists1p.gnu.org ([2001:470:142::17]:33946)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <lumarzeli30@HIDDEN>)
 id 1wDIDz-0000UY-Kq
 for submit <at> debbugs.gnu.org; Thu, 16 Apr 2026 04:37:26 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10])
 by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <lumarzeli30@HIDDEN>)
 id 1wDIDq-0003Us-7v
 for bug-gnu-emacs@HIDDEN; Thu, 16 Apr 2026 04:37:16 -0400
Received: from mail-ej1-x634.google.com ([2a00:1450:4864:20::634])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.90_1) (envelope-from <lumarzeli30@HIDDEN>)
 id 1wDIDm-0000aM-5g
 for bug-gnu-emacs@HIDDEN; Thu, 16 Apr 2026 04:37:13 -0400
Received: by mail-ej1-x634.google.com with SMTP id
 a640c23a62f3a-b97f9587e6eso1082225566b.3
 for <bug-gnu-emacs@HIDDEN>; Thu, 16 Apr 2026 01:37:08 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; t=1776328627; cv=none;
 d=google.com; s=arc-20240605;
 b=By5TvOhDa7rOv4qUOevJWDRFrXNRuMVvZ5tpBwr25F9dt6taQc/rVu3c0I2KhcimIK
 vsVshV7YQoHF1w027qmfpt0pU0UAQNo1JkaA9lOSnSrBfdLx1xI/D2td1tHl4PSNT7fo
 NuzYGqjtJ6Y+Cvi/2XCQY0sMM+YkkvB9jI4KvB/Qtivsy7oKH+H41ssjYL2d3XeqB/w8
 k6vlPG/dsaUK3wWdgYAE59pljkFQgEHTNNTzwwZIW0NA+JEBCIT6QB+zoTZ+D9FQWzaj
 LodyLsoDA+KyoJNL5baOcTThOdgVcPWkKyWnr7EtrbaLi4F3nicpsbbHPaT4Cod+8jjJ
 rDjw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com;
 s=arc-20240605; 
 h=to:subject:message-id:date:from:in-reply-to:references:mime-version
 :dkim-signature;
 bh=t70twRsPHwkYQbZn41aa3Hu/mJMhMGAau+LlLpJ3QjI=;
 fh=+R8aXOFVnuBbN1nRXJJI02Ia//JUQJmLW/Uk/VaA0ag=;
 b=J7zimgNX4tP5JzOME/Qg5i5miw8JxqIVPAMUXsNcbCHuG5VgZlrjjYdI79wmkbtwL5
 OYoISKFPQhb+GuIE48CkP0sq/eL/egBywXUGdJ4f2FZGzb8e2AlwrFVqZnxKqd0AHePQ
 XRb0CBvDA/gWvQWXY0EpRvzmMMyY+OZREU4cubntLk6UF+maQGlYOFfDKHfTHhzXSgaa
 CqkFPaI4qND803X8Vl0vKEkHmeQS7tSOsb/AYdOEC0r5AxMfw9IoH3tF17wmc49IpxWa
 k3x6FvHm1W4wzw6h0ZcpIHTfM0oOn9i4VZmH7OywSi600pfQRq34qn0cnejqeBEKvoqr
 Vajg==; darn=gnu.org
ARC-Authentication-Results: i=1; mx.google.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20251104; t=1776328627; x=1776933427; darn=gnu.org;
 h=to:subject:message-id:date:from:in-reply-to:references:mime-version
 :from:to:cc:subject:date:message-id:reply-to;
 bh=t70twRsPHwkYQbZn41aa3Hu/mJMhMGAau+LlLpJ3QjI=;
 b=OAe3VE1yZ/owLuMuihmvFzljsD7tJddBRZNZ7tXVYOCD5fkdz/OMDcnaI2BYVieyIr
 VpF92UG07S5SZ4GwuvxX9Isydgr9X7YRrsLd4HXc7lm8BkNkj0JrQGZQ3G/O5Y6Wh/eB
 +0CDLneTrfFnpJk2gLO2ToylpRxQyVGNADayrM5E5mj4/ZiWfRTfxk0CwSgwxYnhLapW
 BzZocthQgxRtYfAST7C9bn1Qe0i0lw2D77yLoOcYDHWIfgQAZZdxQOtwxTSxEvkT/C3R
 ZTa912WcAQ66EAO12rjTDnN+/ber9kGowqFPSRAS4aOTQwX0EzlgQLwx2dQsr0pCL4Zl
 3ODQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20251104; t=1776328627; x=1776933427;
 h=to:subject:message-id:date:from:in-reply-to:references:mime-version
 :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
 :reply-to;
 bh=t70twRsPHwkYQbZn41aa3Hu/mJMhMGAau+LlLpJ3QjI=;
 b=GITHHdK05nVyozD1T6BIdSrL4y7/OhlR9kXhWJOGSkrA5I4SAs6TFOeaLQC48rxH0k
 dNz4pnXp5cb+vkNy6Mz6SlY7iu6VTQvLtsG5dUZuOI/Doh5Q6yHvkCbftOoO4TuRSNcQ
 YaKGYN635UFvL+AQUPigjXTYRfQyJ/XVC+XcJ+qUFNzA9m/xrIw2RYc3bKDYnakesyuP
 kFpc35f7fTSzgeVoLyaRF4duYrgSfn3hBV/vARLcBWjXHDlNu9KUDBXUgJagvcMS8MNn
 h5ZFogkZ1fxHZ9GUTe2s2VtIACxLMkCyFzwhfAIJqj27jZVUYn7mSmDw/airkGDE1DO4
 lSMg==
X-Gm-Message-State: AOJu0YwD3jooev7aLzaQuXlk3LXBisFUuhKIXlakg+QyfWniYa8COKKi
 MhoYq8wIDvnKXcyFAKvX0JwMODbKsWS8jTgAquNiWi/OAN6akim38PQhH0SsZngLHUN4aZUXbSZ
 rmFqvmaRymplBjZ6+DOFqGHuc3+6y0KmDww==
X-Gm-Gg: AeBDieuJ9rehppplmJQtdt31MpEFJdk3Sldts5NAxMbcB42RJkp39YxwxRuEI7nHoy1
 farPgk1xAsRFX1MSxEOCLCjieOMMjGRLNjhcQYbAYckvdeoFNRcF1xGVVlQbO3O5UxWg2LN3Pq9
 fIfH1FA0mqCX4nDoYKg6oicy5F4fPPaJ7QD1u9o8zRRESsYPKba/O95YzLfMrBFaNV9RMQGJkzy
 1RBFZVh76a1SELCY2Q5rrkjv89AjeFJmRjXs4IvJCdM14fdAHCY0hQgQq5ZclTDXBKI+/hdqdq0
 k2QDKWml59P4VOBvpZcmAYiOOj1ZiziKBq5uCONq
X-Received: by 2002:a17:907:7fa2:b0:b99:7697:76e5 with SMTP id
 a640c23a62f3a-b9d72137273mr1443221666b.0.1776328626997; Thu, 16 Apr 2026
 01:37:06 -0700 (PDT)
MIME-Version: 1.0
References: <CAOR1sLyP2K-QD5NEyafwvv2CLKZps9EUkXMGKtr-JbkMjq7P7g@HIDDEN>
In-Reply-To: <CAOR1sLyP2K-QD5NEyafwvv2CLKZps9EUkXMGKtr-JbkMjq7P7g@HIDDEN>
From: =?UTF-8?B?4KS44KSu4KWA4KSwIOCkuOCkv+CkguCkuSBTYW1lZXIgU2luZ2g=?=
 <lumarzeli30@HIDDEN>
Date: Thu, 16 Apr 2026 14:06:53 +0530
X-Gm-Features: AQROBzD14dXPcSaf6_zwhL_Uj2OJmZ_b9zgdmkfDId6rSVOWLSzVd2jaT2GibHo
Message-ID: <CAOR1sLyzyoG6YZJ-O2VvRr96P_jyy9mcVBVJO8tKusmbiKdPCA@HIDDEN>
Subject: 31.0.50; `read-passwd' password visible after returning from
 recursive minibuffer
To: bug-gnu-emacs@HIDDEN
Content-Type: multipart/alternative; boundary="000000000000d10eb9064f8fbc81"
Received-SPF: pass client-ip=2a00:1450:4864:20::634;
 envelope-from=lumarzeli30@HIDDEN; helo=mail-ej1-x634.google.com
X-Spam_score_int: -17
X-Spam_score: -1.8
X-Spam_bar: -
X-Spam_report: (-1.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,
 DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1,
 FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001,
 RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001,
 SPF_PASS=-0.001 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: 2.2 (++)
X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org",
 has NOT identified this incoming email as spam.  The original
 message has been attached to this so you can view it or label
 similar future email.  If you have any questions, see
 the administrator of that system for details.
 Content preview: Magit asks for my SSH password when I have to push some
 changes, 
 I then use keepass.el to retrieve my password. keepass.el then in turn asks
 for the master password for my password store, after succes [...] 
 Content analysis details:   (2.2 points, 10.0 required)
 pts rule name              description
 ---- ---------------------- --------------------------------------------------
 -0.0 RCVD_IN_DNSWL_NONE     RBL: Sender listed at https://www.dnswl.org/,
 no trust [2001:470:142:0:0:0:0:17 listed in] [list.dnswl.org]
 -0.0 SPF_HELO_PASS          SPF: HELO matches SPF record
 0.2 FREEMAIL_ENVFROM_END_DIGIT Envelope-from freemail username ends
 in digit (lumarzeli30[at]gmail.com)
 1.0 SPF_SOFTFAIL           SPF: sender does not match SPF record (softfail)
 1.0 FORGED_GMAIL_RCVD      'From' gmail.com does not match 'Received'
 headers
 0.0 FREEMAIL_FROM          Sender email is commonly abused enduser mail
 provider (lumarzeli30[at]gmail.com)
 0.0 HTML_MESSAGE           BODY: HTML included in message
X-Debbugs-Envelope-To: submit
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: 1.2 (+)
X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org",
 has NOT identified this incoming email as spam.  The original
 message has been attached to this so you can view it or label
 similar future email.  If you have any questions, see
 the administrator of that system for details.
 
 Content preview:  Magit asks for my SSH password when I have to push some changes,
    I then use keepass.el to retrieve my password. keepass.el then in turn asks
    for the master password for my password store, after succes [...] 
 
 Content analysis details:   (1.2 points, 10.0 required)
 
  pts rule name              description
 ---- ---------------------- --------------------------------------------------
 -0.0 RCVD_IN_DNSWL_NONE     RBL: Sender listed at https://www.dnswl.org/,
                              no trust
                             [2001:470:142:0:0:0:0:17 listed in]
                             [list.dnswl.org]
 -0.0 SPF_HELO_PASS          SPF: HELO matches SPF record
  0.2 FREEMAIL_ENVFROM_END_DIGIT Envelope-from freemail username ends
                             in digit (lumarzeli30[at]gmail.com)
  1.0 SPF_SOFTFAIL           SPF: sender does not match SPF record (softfail)
  1.0 FORGED_GMAIL_RCVD      'From' gmail.com does not match 'Received'
                             headers
  0.0 FREEMAIL_FROM          Sender email is commonly abused enduser mail
                             provider (lumarzeli30[at]gmail.com)
  0.0 HTML_MESSAGE           BODY: HTML included in message
 -1.0 MAILING_LIST_MULTI     Multiple indicators imply a widely-seen list
                             manager

--000000000000d10eb9064f8fbc81
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Magit asks for my SSH password when I have to push some changes, I then
use keepass.el to retrieve my password. keepass.el then in turn asks for
the master password for my password store, after successfully retrieving
my password from keepass, I return back to the magit password prompt in
the same minibuffer. Now when I paste the password here, the password is no=
t
hidden anymore.

Steps to reproduce:
1. emacs -Q
2. Paste this text and then M-x eval-buffer:

(defun mwe-inner ()
  (interactive)
  (read-passwd "Inner password prompt (press RET): "))

(global-set-key (kbd "C-c r") #'mwe-inner)

(defun mwe-test ()
  (interactive)
  (read-passwd "Outer password (use C-c r and then come back): "))

3. M-x mwe-test
4. C-c r
5. Type something. The text will be hidden. Press RET
5. Now when coming back to the mwe-test prompt, type something again,
the text is no longer hidden


--
=E0=A4=B8=E0=A4=AE=E0=A5=80=E0=A4=B0=E0=A4=B8=E0=A4=BF=E0=A4=82=E0=A4=B9

--000000000000d10eb9064f8fbc81
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"auto">Magit asks for my SSH password when I have to push some c=
hanges, I then<div dir=3D"auto">use keepass.el to retrieve my password. kee=
pass.el then in turn asks for</div><div dir=3D"auto">the master password fo=
r my password store, after successfully retrieving</div><div dir=3D"auto">m=
y password from keepass, I return back to the magit password prompt in</div=
><div dir=3D"auto">the same minibuffer. Now when I paste the password here,=
 the password is not</div><div dir=3D"auto">hidden anymore.</div><div dir=
=3D"auto"><br></div><div dir=3D"auto">Steps to reproduce:</div><div dir=3D"=
auto">1. emacs -Q</div><div dir=3D"auto">2. Paste this text and then M-x ev=
al-buffer:</div><div dir=3D"auto"><br></div><div dir=3D"auto">(defun mwe-in=
ner ()</div><div dir=3D"auto">=C2=A0 (interactive)</div><div dir=3D"auto">=
=C2=A0 (read-passwd &quot;Inner password prompt (press RET): &quot;))</div>=
<div dir=3D"auto"><br></div><div dir=3D"auto">(global-set-key (kbd &quot;C-=
c r&quot;) #&#39;mwe-inner)</div><div dir=3D"auto"><br></div><div dir=3D"au=
to">(defun mwe-test ()</div><div dir=3D"auto">=C2=A0 (interactive)</div><di=
v dir=3D"auto">=C2=A0 (read-passwd &quot;Outer password (use C-c r and then=
 come back): &quot;))</div><div dir=3D"auto"><br></div><div dir=3D"auto">3.=
 M-x mwe-test</div><div dir=3D"auto">4. C-c r</div><div dir=3D"auto">5. Typ=
e something. The text will be hidden. Press RET</div><div dir=3D"auto">5. N=
ow when coming back to the mwe-test prompt, type something again,</div><div=
 dir=3D"auto">the text is no longer hidden</div><div dir=3D"auto"><br></div=
><div dir=3D"auto"><br></div><div dir=3D"auto">--</div><div dir=3D"auto">=
=E0=A4=B8=E0=A4=AE=E0=A5=80=E0=A4=B0=E0=A4=B8=E0=A4=BF=E0=A4=82=E0=A4=B9</d=
iv></div>

--000000000000d10eb9064f8fbc81--




Acknowledgement sent to समीर सिंह Sameer Singh <lumarzeli30@HIDDEN>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs@HIDDEN. Full text available.
Report forwarded to bug-gnu-emacs@HIDDEN:
bug#80838; Package emacs. Full text available.
Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.
Last modified: Thu, 30 Apr 2026 11:30:02 UTC

GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997 nCipher Corporation Ltd, 1994-97 Ian Jackson.