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
bug-gnu-emacs@HIDDEN:bug#80838; Package emacs.
Full text available.
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
bug-gnu-emacs@HIDDEN:bug#80838; Package emacs.
Full text available.
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
bug-gnu-emacs@HIDDEN:bug#80838; Package emacs.
Full text available.
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
bug-gnu-emacs@HIDDEN:bug#80838; Package emacs.
Full text available.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.
bug-gnu-emacs@HIDDEN:bug#80838; Package emacs.
Full text available.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
bug-gnu-emacs@HIDDEN:bug#80838; Package emacs.
Full text available.
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
bug-gnu-emacs@HIDDEN:bug#80838; Package emacs.
Full text available.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
bug-gnu-emacs@HIDDEN:bug#80838; Package emacs.
Full text available.
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
bug-gnu-emacs@HIDDEN:bug#80838; Package emacs.
Full text available.
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
--=-=-=--
bug-gnu-emacs@HIDDEN:bug#80838; Package emacs.
Full text available.
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 "Inner password prompt (press RET): "))</div>=
<div dir=3D"auto"><br></div><div dir=3D"auto">(global-set-key (kbd "C-=
c r") #'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 "Outer password (use C-c r and then=
come back): "))</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--
समीर सिंह Sameer Singh <lumarzeli30@HIDDEN>:bug-gnu-emacs@HIDDEN.
Full text available.bug-gnu-emacs@HIDDEN:bug#80838; Package emacs.
Full text available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.