GNU bug report logs - #76323
30.0.93; auth-source-pass: Annoying error when ~/.password-store doesn't exist

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

Package: emacs; Severity: minor; Reported by: Naofumi Yasufuku <naofumi@HIDDEN>; dated Sun, 16 Feb 2025 05:31:02 UTC; Maintainer for emacs is bug-gnu-emacs@HIDDEN.
Severity set to 'minor' from 'normal' Request was from Stefan Kangas <stefankangas@HIDDEN> to control <at> debbugs.gnu.org. Full text available.

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


Received: (at 76323) by debbugs.gnu.org; 17 Feb 2025 22:36:18 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Feb 17 17:36:18 2025
Received: from localhost ([127.0.0.1]:50695 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tk9ir-0000zP-V4
	for submit <at> debbugs.gnu.org; Mon, 17 Feb 2025 17:36:18 -0500
Received: from www2300.sakura.ne.jp ([182.48.49.240]:57996)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <naofumi@HIDDEN>)
 id 1tk9im-0000ys-SB
 for 76323 <at> debbugs.gnu.org; Mon, 17 Feb 2025 17:36:16 -0500
Received: from www2300.sakura.ne.jp (localhost [127.0.0.1])
 by www2300.sakura.ne.jp (8.16.1/8.16.1) with ESMTP id 51HMZfvH057904;
 Tue, 18 Feb 2025 07:35:41 +0900 (JST)
 (envelope-from naofumi@HIDDEN)
Received: from localhost ([IPv6:2405:6587:84e0:100:b491:4577:3fb9:3179])
 (authenticated bits=0)
 by www2300.sakura.ne.jp (8.16.1/8.16.1) with ESMTPSA id 51HMZf8e057897
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO);
 Tue, 18 Feb 2025 07:35:41 +0900 (JST)
 (envelope-from naofumi@HIDDEN)
From: Naofumi Yasufuku <naofumi@HIDDEN>
To: "Basil L. Contovounesios" <basil@HIDDEN>
Subject: Re: bug#76323: 30.0.93; auth-source-pass: Annoying error when
 ~/.password-store doesn't exist
In-Reply-To: <87frkd7s6l.fsf@HIDDEN>
References: <m1msem4ft8.fsf@HIDDEN> <87frkel04h.fsf@HIDDEN>
 <m1tt8u9emq.fsf@HIDDEN> <87frkd7s6l.fsf@HIDDEN>
Date: Tue, 18 Feb 2025 07:35:40 +0900
Message-ID: <m1tt8s42tf.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-2022-jp
X-Anti-Virus-Server: fsav102.rs.sakura.ne.jp
X-Virus-Status: clean
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 76323
Cc: 76323 <at> debbugs.gnu.org, Damien Cassou <damien@HIDDEN>,
 "F. Jason Park" <jp@HIDDEN>
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.0 (-)

Hi Basil and everyone,

"Basil L. Contovounesios" <basil@HIDDEN> writes:

>> I think it would be better to have just one additional dir check on
>> auth-source-pass-search instead of auth-source-pass-entries.
>> auth-source-pass backend just does nothing if password-store dir is not
>> available.  Could it be relatively reasonable cost?
>
> Sounds even better to me.
>
> [ I can imagine external users of auth-source-pass-entries also
>   benefitting from the filesystem guard, but I think we can leave it up
>   to them to decide if/when/how they need it. ]
>

I think so too.  Introduced tiny patch is just about removing small
frustrations of, e.g. auth-sources setup via custom, but still.

> CCing some of the recent auth-source-pass (and ERC) contributors in case
> they have any comments on the patch below.
>
> [ The original attachment and the rest of the discussion can be found
>   here: https://bugs.gnu.org/76323#11 ]
>
> If there are no objections, I think this can be applied soon.
>

Thanks.  

> Yasufuku-san, do you have a copyright assignment to the FSF?

No, I haven’t signed it yet.

> I think this contribution is still well within the limits for being
> exempt, but for future contributions perhaps you would be interested in
> starting the process now, if you haven't already?
>

I'm interested in that.  I'd like to proceed with the copyright assignment process.
Could you send the copyright assignment forms to me?

Best Regards,
  Naofumi




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

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


Received: (at 76323) by debbugs.gnu.org; 16 Feb 2025 19:35:13 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Feb 16 14:35:13 2025
Received: from localhost ([127.0.0.1]:37638 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tjkQ4-000214-RH
	for submit <at> debbugs.gnu.org; Sun, 16 Feb 2025 14:35:13 -0500
Received: from mail-108-mta132.mxroute.com ([136.175.108.132]:38911)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <jp@HIDDEN>) id 1tjkQ1-0001zG-SM
 for 76323 <at> debbugs.gnu.org; Sun, 16 Feb 2025 14:35:11 -0500
Received: from filter006.mxroute.com ([136.175.111.3] filter006.mxroute.com)
 (Authenticated sender: mN4UYu2MZsgR)
 by mail-108-mta132.mxroute.com (ZoneMTA) with ESMTPSA id
 1951041dbdb000310e.003 for <76323 <at> debbugs.gnu.org>
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Sun, 16 Feb 2025 19:35:06 +0000
X-Zone-Loop: ae5026ae2f09d8679a0351cbb0c693131f7ac776b4c4
X-Originating-IP: [136.175.111.3]
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=neverwas.me
 ; s=x;
 h=Content-Type:MIME-Version:Message-ID:Date:References:In-Reply-To:
 Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding:Content-ID:
 Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc
 :Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe:
 List-Post:List-Owner:List-Archive;
 bh=gNkYY1SBU3vjo4yU+3AEM+vKqSSPc8T3pBwhIrRppkI=; b=EYJnPxI2V2Z+gj2uU8psP3toIi
 UFOKwDLG30kF+C4bh9I2sgBislPc2c1g77KHI5rUQfy+TMLMoJjSxFuRO2jiAuN9gwNHvPbTUchdX
 U0EU/EHsbooHi2kGFePfAcFHwCT+XPd0mwCsvwVCj9p+JuRtoevwjsriw8qxWh2F74+ZB56BwjYvA
 +5QZG0pIipUFIqUCSw+ICEHXNTBOrNDMfxZRrVvkKrOiYCcoVjGb0V3FBZKWu3NElkdMtGnWmmqgh
 UyAz6pnaaFinpRtcXdlgBjkvX/TfHfXwyY5RcDuLZwa3mo8deY6ZwoCJ3WztApVZ85AfPtrDRrOp8
 aQNTI8Gw==;
From: "J.P." <jp@HIDDEN>
To: "Basil L. Contovounesios" <basil@HIDDEN>
Subject: Re: bug#76323: 30.0.93; auth-source-pass: Annoying error when
 ~/.password-store doesn't exist
In-Reply-To: <87frkd7s6l.fsf@HIDDEN>
References: <m1msem4ft8.fsf@HIDDEN> <87frkel04h.fsf@HIDDEN>
 <m1tt8u9emq.fsf@HIDDEN> <87frkd7s6l.fsf@HIDDEN>
Date: Sun, 16 Feb 2025 11:35:02 -0800
Message-ID: <87seodlm3d.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Authenticated-Id: masked@HIDDEN
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 76323
Cc: 76323 <at> debbugs.gnu.org, Damien Cassou <damien@HIDDEN>,
 Naofumi Yasufuku <naofumi@HIDDEN>
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.0 (-)

"Basil L. Contovounesios" <basil@HIDDEN> writes:

> Naofumi Yasufuku [2025-02-16 22:57 +0900] wrote:
>
>> I noticed that auth-source-pass-entries is called many times
>> for each search pattern
>
> Ouch!
>
>> I think it would be better to have just one additional dir check on
>> auth-source-pass-search instead of auth-source-pass-entries.
>> auth-source-pass backend just does nothing if password-store dir is not
>> available.  Could it be relatively reasonable cost?
>
> Sounds even better to me.
>
> [ I can imagine external users of auth-source-pass-entries also
>   benefitting from the filesystem guard, but I think we can leave it up
>   to them to decide if/when/how they need it. ]
>
> CCing some of the recent auth-source-pass (and ERC) contributors in case
> they have any comments on the patch below.

Hi Basil and everyone,

I appreciate the shout but unfortunately can't claim to have ever used
the password store. My experience is limited to attempting to make
portions of auth-source-pass behave more like other back ends for the
purpose of improving its integration with ERC, the result being the
option `auth-source-pass-extra-query-keywords'. However, the patch seems
to make sense from a layman's perspective, for whatever that's worth.

Cheers,
J.P.

>
> [ The original attachment and the rest of the discussion can be found
>   here: https://bugs.gnu.org/76323#11 ]
>
> If there are no objections, I think this can be applied soon.
>
> Yasufuku-san, do you have a copyright assignment to the FSF?
> I think this contribution is still well within the limits for being
> exempt, but for future contributions perhaps you would be interested in
> starting the process now, if you haven't already?
>
>> From c42a3abeb04b7c28f8532497fe9c9f0e50521a27 Mon Sep 17 00:00:00 2001
>> From: Naofumi Yasufuku <naofumi@HIDDEN>
>> Date: Sun, 16 Feb 2025 21:12:17 +0900
>> Subject: [PATCH] auth-source-pass: Don't raise errors if ~/.password-store
>>  doesn't exist
>>
>> * lisp/auth-source-pass.el (auth-source-pass-search):
>> If auth-source-pass-filename is not a directory, just do nothing to
>> avoid repeated errors raised by directory-files-recursively in
>> auth-source-pass-entries which is called for each search pattern.
>> (Bug#76323)
>> ---
>>  lisp/auth-source-pass.el | 3 +++
>>  1 file changed, 3 insertions(+)
>>
>> diff --git a/lisp/auth-source-pass.el b/lisp/auth-source-pass.el
>> index 80ddb38fa88..33786a14a87 100644
>> --- a/lisp/auth-source-pass.el
>> +++ b/lisp/auth-source-pass.el
>> @@ -85,6 +85,9 @@ auth-source-pass-search
>>          ((null host)
>>           ;; Do not build a result, as none will match when HOST is nil
>>           nil)
>> +        ((not (file-directory-p (expand-file-name auth-source-pass-filename)))
>> +         ;; Do nothing if the password-store folder doesn't exist.
>> +         nil)
>>          (auth-source-pass-extra-query-keywords
>>           (auth-source-pass--build-result-many host port user require max))
>>          (t
>
> Thanks,




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

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


Received: (at 76323) by debbugs.gnu.org; 16 Feb 2025 16:47:34 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Feb 16 11:47:34 2025
Received: from localhost ([127.0.0.1]:36574 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tjhnp-00030b-BA
	for submit <at> debbugs.gnu.org; Sun, 16 Feb 2025 11:47:33 -0500
Received: from mta-12-4.privateemail.com ([198.54.127.107]:45164)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <basil@HIDDEN>)
 id 1tjhnm-00030M-Qs
 for 76323 <at> debbugs.gnu.org; Sun, 16 Feb 2025 11:47:31 -0500
Received: from mta-12.privateemail.com (localhost [127.0.0.1])
 by mta-12.privateemail.com (Postfix) with ESMTP id 4YwsCH31Yfz3hhTq;
 Sun, 16 Feb 2025 11:47:23 -0500 (EST)
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=contovou.net;
 s=default; t=1739724443;
 bh=80OJXwq3WLCl1cDPlUTHFylCu++iSbBYIsbBpAskuoY=;
 h=From:To:Cc:Subject:In-Reply-To:References:Date:From;
 b=FDX5Ibrk30SJmHSiyKU4kxzmc0DGtmHf3slC4IFG6Ec/aqD8O220B+8CHsC3lBIva
 h9yxjbTXjnjEG3TWqqKRyDEBF6iuJPs/rMAzLmI2sG9fML6nm5hzc2SKUzZK8KS9mN
 WdLsfKLpGrxWOH4Zak36bd11A9vFSfKBB94wnSMTPmgG/mMgiQV6BOXRdzrJNaOLvB
 /iKACD10l6CRxtoUkqY2izFKwuexMTiyG6H0Ls+Ok8L3tz2KSJTfI9pGukyxVrSWIa
 mUOm4yw2OVtSkypRT0f7S3dV6KLdIElwYC9kL3r2ujVoekrYe36E4dF+Os6IZSMi+c
 ffdn3iKJc6U/A==
Received: from localhost (unknown [31.46.244.117])
 by mta-12.privateemail.com (Postfix) with ESMTPA;
 Sun, 16 Feb 2025 11:47:19 -0500 (EST)
From: "Basil L. Contovounesios" <basil@HIDDEN>
To: Naofumi Yasufuku <naofumi@HIDDEN>
Subject: Re: bug#76323: 30.0.93; auth-source-pass: Annoying error when
 ~/.password-store doesn't exist
In-Reply-To: <m1tt8u9emq.fsf@HIDDEN>
References: <m1msem4ft8.fsf@HIDDEN> <87frkel04h.fsf@HIDDEN>
 <m1tt8u9emq.fsf@HIDDEN>
Date: Sun, 16 Feb 2025 17:47:14 +0100
Message-ID: <87frkd7s6l.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Virus-Scanned: ClamAV using ClamSMTP
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 76323
Cc: 76323 <at> debbugs.gnu.org, Damien Cassou <damien@HIDDEN>,
 "F. Jason Park" <jp@HIDDEN>
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.0 (-)

Naofumi Yasufuku [2025-02-16 22:57 +0900] wrote:

> I noticed that auth-source-pass-entries is called many times
> for each search pattern

Ouch!

> I think it would be better to have just one additional dir check on
> auth-source-pass-search instead of auth-source-pass-entries.
> auth-source-pass backend just does nothing if password-store dir is not
> available.  Could it be relatively reasonable cost?

Sounds even better to me.

[ I can imagine external users of auth-source-pass-entries also
  benefitting from the filesystem guard, but I think we can leave it up
  to them to decide if/when/how they need it. ]

CCing some of the recent auth-source-pass (and ERC) contributors in case
they have any comments on the patch below.

[ The original attachment and the rest of the discussion can be found
  here: https://bugs.gnu.org/76323#11 ]

If there are no objections, I think this can be applied soon.

Yasufuku-san, do you have a copyright assignment to the FSF?
I think this contribution is still well within the limits for being
exempt, but for future contributions perhaps you would be interested in
starting the process now, if you haven't already?

> From c42a3abeb04b7c28f8532497fe9c9f0e50521a27 Mon Sep 17 00:00:00 2001
> From: Naofumi Yasufuku <naofumi@HIDDEN>
> Date: Sun, 16 Feb 2025 21:12:17 +0900
> Subject: [PATCH] auth-source-pass: Don't raise errors if ~/.password-store
>  doesn't exist
>
> * lisp/auth-source-pass.el (auth-source-pass-search):
> If auth-source-pass-filename is not a directory, just do nothing to
> avoid repeated errors raised by directory-files-recursively in
> auth-source-pass-entries which is called for each search pattern.
> (Bug#76323)
> ---
>  lisp/auth-source-pass.el | 3 +++
>  1 file changed, 3 insertions(+)
>
> diff --git a/lisp/auth-source-pass.el b/lisp/auth-source-pass.el
> index 80ddb38fa88..33786a14a87 100644
> --- a/lisp/auth-source-pass.el
> +++ b/lisp/auth-source-pass.el
> @@ -85,6 +85,9 @@ auth-source-pass-search
>          ((null host)
>           ;; Do not build a result, as none will match when HOST is nil
>           nil)
> +        ((not (file-directory-p (expand-file-name auth-source-pass-filename)))
> +         ;; Do nothing if the password-store folder doesn't exist.
> +         nil)
>          (auth-source-pass-extra-query-keywords
>           (auth-source-pass--build-result-many host port user require max))
>          (t

Thanks,
-- 
Basil




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

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


Received: (at 76323) by debbugs.gnu.org; 16 Feb 2025 13:57:25 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Feb 16 08:57:25 2025
Received: from localhost ([127.0.0.1]:32900 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tjf9A-0004y2-Oy
	for submit <at> debbugs.gnu.org; Sun, 16 Feb 2025 08:57:25 -0500
Received: from www2300.sakura.ne.jp ([182.48.49.240]:64110)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <naofumi@HIDDEN>)
 id 1tjf96-0004xk-6c
 for 76323 <at> debbugs.gnu.org; Sun, 16 Feb 2025 08:57:23 -0500
Received: from www2300.sakura.ne.jp (localhost [127.0.0.1])
 by www2300.sakura.ne.jp (8.16.1/8.16.1) with ESMTP id 51GDv2HJ039186;
 Sun, 16 Feb 2025 22:57:02 +0900 (JST)
 (envelope-from naofumi@HIDDEN)
Received: from localhost ([IPv6:2405:6587:84e0:100:d027:10e1:780d:2b48])
 (authenticated bits=0)
 by www2300.sakura.ne.jp (8.16.1/8.16.1) with ESMTPSA id 51GDv2od039182
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO);
 Sun, 16 Feb 2025 22:57:02 +0900 (JST)
 (envelope-from naofumi@HIDDEN)
From: Naofumi Yasufuku <naofumi@HIDDEN>
To: "Basil L. Contovounesios" <basil@HIDDEN>
Subject: Re: bug#76323: 30.0.93; auth-source-pass: Annoying error when
 ~/.password-store doesn't exist
In-Reply-To: <87frkel04h.fsf@HIDDEN>
References: <m1msem4ft8.fsf@HIDDEN> <87frkel04h.fsf@HIDDEN>
Date: Sun, 16 Feb 2025 22:57:01 +0900
Message-ID: <m1tt8u9emq.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=-=-="
X-Anti-Virus-Server: fsav302.rs.sakura.ne.jp
X-Virus-Status: clean
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 76323
Cc: 76323 <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.0 (-)

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

Hi, Basil,

"Basil L. Contovounesios" <basil@HIDDEN> writes:

> Naofumi Yasufuku [2025-02-16 14:30 +0900] wrote:
>
>> @@ -236,9 +236,10 @@ auth-source-pass--do-debug
>>  (defun auth-source-pass-entries ()
>>    "Return a list of all password store entries."
>>    (let ((store-dir (expand-file-name auth-source-pass-filename)))
>> -    (mapcar
>> -     (lambda (file) (file-name-sans-extension (file-relative-name file store-dir)))
>> -     (directory-files-recursively store-dir "\\.gpg\\'"))))
>> +    (when (file-directory-p store-dir)
>> +      (mapcar
>> +       (lambda (file) (file-name-sans-extension (file-relative-name file store-dir)))
>> +       (directory-files-recursively store-dir "\\.gpg\\'")))))
>
> Would it be any better to have the filesystem read and error check in a
> single atomic step?  For example:
>
> diff --git a/lisp/auth-source-pass.el b/lisp/auth-source-pass.el
> index b0b32ca263b..80e412e1697 100644
> --- a/lisp/auth-source-pass.el
> +++ b/lisp/auth-source-pass.el
> @@ -243,7 +243,8 @@ auth-source-pass-entries
>    (let ((store-dir (expand-file-name auth-source-pass-filename)))
>      (mapcar
>       (lambda (file) (file-name-sans-extension (file-relative-name file store-dir)))
> -     (directory-files-recursively store-dir "\\.gpg\\'"))))
> +     (ignore-error file-missing
> +       (directory-files-recursively store-dir "\\.gpg\\'")))))
>  
>  (defun auth-source-pass--find-match (hosts user port)
>    "Return password-store entry data matching HOSTS, USER and PORT.
>

Certainly.  I noticed that auth-source-pass-entries is called many times
for each search pattern, so as you mentioned, additional filesystem read
should be avoided as much as possible.

- Error-1: No ~/.password-store/

  rmdir ~/.password-store
  ./src/emacs -Q

  (setq auth-source-debug t)       ; enable debugging
  (require 'auth-source-pass)
  (add-to-list 'auth-sources 'password-store)
  (auth-source-search :host "host.example.com" :user "user")

-----------------------------------------------
diff --git a/lisp/auth-source-pass.el b/lisp/auth-source-pass.el
index 33786a14a87..64774739f09 100644
--- a/lisp/auth-source-pass.el
+++ b/lisp/auth-source-pass.el
@@ -241,7 +241,8 @@ auth-source-pass-entries
   (let ((store-dir (expand-file-name auth-source-pass-filename)))
     (mapcar
      (lambda (file) (file-name-sans-extension (file-relative-name file store-dir)))
-     (directory-files-recursively store-dir "\\.gpg\\'"))))
+     (with-demoted-errors "auth-source-pass: %S"
+       (directory-files-recursively store-dir "\\.gpg\\'")))))
 
 (defun auth-source-pass--find-match (hosts user port)
   "Return password-store entry data matching HOSTS, USER and PORT.
-----------------------------------------------

*Messages*
-----------------------------------------------
auth-source-pass: (file-missing "Opening directory" "No such file or directory" "/Users/naofumi/.password-store")
auth-source-pass: searching for entries matching hostname="host.example.com", user="user", port="443"
auth-source-pass: corresponding suffixes to search for: ("user@HIDDEN:443" "host.example.com:443/user" "user@HIDDEN" "host.example.com/user" "host.example.com:443" "host.example.com" "user@HIDDEN:443" "example.com:443/user" "user@HIDDEN" "example.com/user" "example.com:443" "example.com" "user@com:443" "com:443/user" "user@com" "com/user" "com:443" "com")
auth-source-pass: (file-missing "Opening directory" "No such file or directory" "/Users/naofumi/.password-store")
auth-source-pass: found no entries matching "user@HIDDEN:443"
auth-source-pass: (file-missing "Opening directory" "No such file or directory" "/Users/naofumi/.password-store")
auth-source-pass: found no entries matching "host.example.com:443/user"
auth-source-pass: (file-missing "Opening directory" "No such file or directory" "/Users/naofumi/.password-store")
auth-source-pass: found no entries matching "user@HIDDEN"
auth-source-pass: (file-missing "Opening directory" "No such file or directory" "/Users/naofumi/.password-store")
auth-source-pass: found no entries matching "host.example.com/user"
auth-source-pass: (file-missing "Opening directory" "No such file or directory" "/Users/naofumi/.password-store")
auth-source-pass: found no entries matching "host.example.com:443"
auth-source-pass: (file-missing "Opening directory" "No such file or directory" "/Users/naofumi/.password-store")
auth-source-pass: found no entries matching "host.example.com"
auth-source-pass: (file-missing "Opening directory" "No such file or directory" "/Users/naofumi/.password-store")
auth-source-pass: found no entries matching "user@HIDDEN:443"
auth-source-pass: (file-missing "Opening directory" "No such file or directory" "/Users/naofumi/.password-store")
auth-source-pass: found no entries matching "example.com:443/user"
auth-source-pass: (file-missing "Opening directory" "No such file or directory" "/Users/naofumi/.password-store")
auth-source-pass: found no entries matching "user@HIDDEN"
auth-source-pass: (file-missing "Opening directory" "No such file or directory" "/Users/naofumi/.password-store")
auth-source-pass: found no entries matching "example.com/user"
auth-source-pass: (file-missing "Opening directory" "No such file or directory" "/Users/naofumi/.password-store")
auth-source-pass: found no entries matching "example.com:443"
auth-source-pass: (file-missing "Opening directory" "No such file or directory" "/Users/naofumi/.password-store")
auth-source-pass: found no entries matching "example.com"
auth-source-pass: (file-missing "Opening directory" "No such file or directory" "/Users/naofumi/.password-store")
auth-source-pass: found no entries matching "user@com:443"
auth-source-pass: (file-missing "Opening directory" "No such file or directory" "/Users/naofumi/.password-store")
auth-source-pass: found no entries matching "com:443/user"
auth-source-pass: (file-missing "Opening directory" "No such file or directory" "/Users/naofumi/.password-store")
auth-source-pass: found no entries matching "user@com"
auth-source-pass: (file-missing "Opening directory" "No such file or directory" "/Users/naofumi/.password-store")
auth-source-pass: found no entries matching "com/user"
auth-source-pass: (file-missing "Opening directory" "No such file or directory" "/Users/naofumi/.password-store")
auth-source-pass: found no entries matching "com:443"
auth-source-pass: (file-missing "Opening directory" "No such file or directory" "/Users/naofumi/.password-store")
auth-source-pass: found no entries matching "com"
auth-source-search: found 0 results (max 1) matching (:host "host.example.com" :user "user")
-----------------------------------------------


I think it would be better to have just one additional dir check on
auth-source-pass-search instead of auth-source-pass-entries.
auth-source-pass backend just does nothing if password-store dir is not
available.  Could it be relatively reasonable cost?

-----------------------------------------------
diff --git a/lisp/auth-source-pass.el b/lisp/auth-source-pass.el
index 80ddb38fa88..33786a14a87 100644
--- a/lisp/auth-source-pass.el
+++ b/lisp/auth-source-pass.el
@@ -85,6 +85,9 @@ auth-source-pass-search
         ((null host)
          ;; Do not build a result, as none will match when HOST is nil
          nil)
+        ((not (file-directory-p (expand-file-name auth-source-pass-filename)))
+         ;; Do nothing if the password-store folder doesn't exist.
+         nil)
         (auth-source-pass-extra-query-keywords
          (auth-source-pass--build-result-many host port user require max))
         (t
-----------------------------------------------

*Messages*
-----------------------------------------------
auth-source-search: found 0 results (max 1) matching (:host "host.example.com" :user "user")
-----------------------------------------------

New patch file is also attached.

Best regards,
  Naofumi


--=-=-=
Content-Type: text/x-patch
Content-Disposition: attachment;
 filename=0001-auth-source-pass-Don-t-raise-errors-if-.password-sto.patch

From c42a3abeb04b7c28f8532497fe9c9f0e50521a27 Mon Sep 17 00:00:00 2001
From: Naofumi Yasufuku <naofumi@HIDDEN>
Date: Sun, 16 Feb 2025 21:12:17 +0900
Subject: [PATCH] auth-source-pass: Don't raise errors if ~/.password-store
 doesn't exist

* lisp/auth-source-pass.el (auth-source-pass-search):
If auth-source-pass-filename is not a directory, just do nothing to
avoid repeated errors raised by directory-files-recursively in
auth-source-pass-entries which is called for each search pattern.
(Bug#76323)
---
 lisp/auth-source-pass.el | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/lisp/auth-source-pass.el b/lisp/auth-source-pass.el
index 80ddb38fa88..33786a14a87 100644
--- a/lisp/auth-source-pass.el
+++ b/lisp/auth-source-pass.el
@@ -85,6 +85,9 @@ auth-source-pass-search
         ((null host)
          ;; Do not build a result, as none will match when HOST is nil
          nil)
+        ((not (file-directory-p (expand-file-name auth-source-pass-filename)))
+         ;; Do nothing if the password-store folder doesn't exist.
+         nil)
         (auth-source-pass-extra-query-keywords
          (auth-source-pass--build-result-many host port user require max))
         (t
-- 
2.48.1


--=-=-=--




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

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


Received: (at 76323) by debbugs.gnu.org; 16 Feb 2025 09:17:34 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Feb 16 04:17:34 2025
Received: from localhost ([127.0.0.1]:60113 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tjamM-0002fk-9X
	for submit <at> debbugs.gnu.org; Sun, 16 Feb 2025 04:17:34 -0500
Received: from mta-14-3.privateemail.com ([198.54.127.110]:57110)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <basil@HIDDEN>)
 id 1tjamJ-0002f3-Jn
 for 76323 <at> debbugs.gnu.org; Sun, 16 Feb 2025 04:17:32 -0500
Received: from mta-14.privateemail.com (localhost [127.0.0.1])
 by mta-14.privateemail.com (Postfix) with ESMTP id 4YwgD5425bz3hhTx;
 Sun, 16 Feb 2025 04:17:25 -0500 (EST)
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=contovou.net;
 s=default; t=1739697445;
 bh=9teLrU+LOUc//cCd++3wbLdVxMLmHn4rsa6+BXvHzck=;
 h=From:To:Cc:Subject:In-Reply-To:References:Date:From;
 b=Az9Xu/nd9hBcUfAkI9fr7OPfveMl+i+5mCrQwhHn9xGc+8fjxZ/4qWw2z9e6v7/xx
 HAuPaEVwGBLsC+bfwa4p06S7JE5PnlvBFE+ebHJH78zBDwffW6zw8jhKG2Flu1McAc
 wkbCDW7RudEKU+Nw2Y35pXZ/Lw/LG6rYzx79s3KyGixfaLzg1WEuTCNHZogfxHRvr6
 3KzhSkUIAXbNgqg9/9AHNzs+W0MC+Luo4DJj83FW2c+Ek7m0nJqf+X88PqLph+kPbD
 Z2c0KIOaLfUj0H33ZCEfXE7aLhUcsoZLgFsbIDpgP6l5YPwg/PevSCNEzjypPXU4Zx
 ouIHWvRaDCI8w==
Received: from localhost (unknown [31.46.244.117])
 by mta-14.privateemail.com (Postfix) with ESMTPA;
 Sun, 16 Feb 2025 04:17:23 -0500 (EST)
From: "Basil L. Contovounesios" <basil@HIDDEN>
To: Naofumi Yasufuku <naofumi@HIDDEN>
Subject: Re: bug#76323: 30.0.93; auth-source-pass: Annoying error when
 ~/.password-store doesn't exist
In-Reply-To: <m1msem4ft8.fsf@HIDDEN>
References: <m1msem4ft8.fsf@HIDDEN>
Date: Sun, 16 Feb 2025 10:17:18 +0100
Message-ID: <87frkel04h.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=-=-="
X-Virus-Scanned: ClamAV using ClamSMTP
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 76323
Cc: 76323 <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.0 (-)

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

Naofumi Yasufuku [2025-02-16 14:30 +0900] wrote:

> @@ -236,9 +236,10 @@ auth-source-pass--do-debug
>  (defun auth-source-pass-entries ()
>    "Return a list of all password store entries."
>    (let ((store-dir (expand-file-name auth-source-pass-filename)))
> -    (mapcar
> -     (lambda (file) (file-name-sans-extension (file-relative-name file store-dir)))
> -     (directory-files-recursively store-dir "\\.gpg\\'"))))
> +    (when (file-directory-p store-dir)
> +      (mapcar
> +       (lambda (file) (file-name-sans-extension (file-relative-name file store-dir)))
> +       (directory-files-recursively store-dir "\\.gpg\\'")))))

Would it be any better to have the filesystem read and error check in a
single atomic step?  For example:


--=-=-=
Content-Type: text/x-diff
Content-Disposition: inline; filename=file-missing.diff

diff --git a/lisp/auth-source-pass.el b/lisp/auth-source-pass.el
index b0b32ca263b..80e412e1697 100644
--- a/lisp/auth-source-pass.el
+++ b/lisp/auth-source-pass.el
@@ -243,7 +243,8 @@ auth-source-pass-entries
   (let ((store-dir (expand-file-name auth-source-pass-filename)))
     (mapcar
      (lambda (file) (file-name-sans-extension (file-relative-name file store-dir)))
-     (directory-files-recursively store-dir "\\.gpg\\'"))))
+     (ignore-error file-missing
+       (directory-files-recursively store-dir "\\.gpg\\'")))))
 
 (defun auth-source-pass--find-match (hosts user port)
   "Return password-store entry data matching HOSTS, USER and PORT.

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


Thanks,
-- 
Basil

--=-=-=--




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

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


Received: (at submit) by debbugs.gnu.org; 16 Feb 2025 05:31:00 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Feb 16 00:31:00 2025
Received: from localhost ([127.0.0.1]:59471 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tjXF3-0003Xz-NG
	for submit <at> debbugs.gnu.org; Sun, 16 Feb 2025 00:31:00 -0500
Received: from lists.gnu.org ([2001:470:142::17]:47106)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <naofumi@HIDDEN>)
 id 1tjXEz-00036j-GP
 for submit <at> debbugs.gnu.org; Sun, 16 Feb 2025 00:30:55 -0500
Received: from eggs.gnu.org ([2001:470:142:3::10])
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <naofumi@HIDDEN>)
 id 1tjXEp-0003Z9-HN
 for bug-gnu-emacs@HIDDEN; Sun, 16 Feb 2025 00:30:43 -0500
Received: from www2300.sakura.ne.jp ([182.48.49.240])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <naofumi@HIDDEN>)
 id 1tjXEk-0005tr-06
 for bug-gnu-emacs@HIDDEN; Sun, 16 Feb 2025 00:30:42 -0500
Received: from www2300.sakura.ne.jp (localhost [127.0.0.1])
 by www2300.sakura.ne.jp (8.16.1/8.16.1) with ESMTP id 51G5USNt072270
 for <bug-gnu-emacs@HIDDEN>; Sun, 16 Feb 2025 14:30:28 +0900 (JST)
 (envelope-from naofumi@HIDDEN)
Received: from localhost ([IPv6:2405:6587:84e0:100:d027:10e1:780d:2b48])
 (authenticated bits=0)
 by www2300.sakura.ne.jp (8.16.1/8.16.1) with ESMTPSA id 51G5USGx072264
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO)
 for <bug-gnu-emacs@HIDDEN>; Sun, 16 Feb 2025 14:30:28 +0900 (JST)
 (envelope-from naofumi@HIDDEN)
From: Naofumi Yasufuku <naofumi@HIDDEN>
To: bug-gnu-emacs@HIDDEN
Subject: 30.0.93; auth-source-pass: Annoying error when ~/.password-store
 doesn't exist
X-Debbugs-Cc: 
Date: Sun, 16 Feb 2025 14:30:27 +0900
Message-ID: <m1msem4ft8.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=-=-="
X-Anti-Virus-Server: fsav103.rs.sakura.ne.jp
X-Virus-Status: clean
Received-SPF: pass client-ip=182.48.49.240; envelope-from=naofumi@HIDDEN;
 helo=www2300.sakura.ne.jp
X-Spam_score_int: -18
X-Spam_score: -1.9
X-Spam_bar: -
X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9,
 RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001,
 SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: 1.0 (+)
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: -0.0 (/)

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


Hello,

I'd like to avoid annoying "No such file or directory" error raised by
auth-source-pass-entries to share my init.el on machines which may have
no ~/.password-store setup.

- OK: Empty ~/.password-store/

  mkdir ~/.password-store
  ./src/emacs -Q

  (require 'auth-source-pass)
  (add-to-list 'auth-sources 'password-store)
  (auth-source-search :host "host.example.com" :user "user")
  => nil

- Error-1: No ~/.password-store/

  rmdir ~/.password-store
  ./src/emacs -Q

  (require 'auth-source-pass)
  (add-to-list 'auth-sources 'password-store)
  (auth-source-search :host "host.example.com" :user "user")
  => (file-missing "Opening directory" "No such file or directory" "/Users/naofumi/.password-store")

- Error-2: ~/.password-store is not a directory

  touch ~/.password-store
  ./src/emacs -Q

  (require 'auth-source-pass)
  (add-to-list 'auth-sources 'password-store)
  (auth-source-search :host "host.example.com" :user "user")
  => (file-missing "Opening directory" "No such file or directory" "/Users/naofumi/.password-store")

A small patch is attached.

Best regards,
  Naofumi

--=-=-=
Content-Type: text/x-patch
Content-Disposition: attachment;
 filename=0001-auth-source-pass-Don-t-raise-error-if-.password-stor.patch

From b03d0ca60afca21ca7b85f7314a1000bf9060897 Mon Sep 17 00:00:00 2001
From: Naofumi Yasufuku <naofumi@HIDDEN>
Date: Sun, 16 Feb 2025 13:30:32 +0900
Subject: [PATCH] auth-source-pass: Don't raise error if ~/.password-store
 doesn't exist

* lisp/auth-source-pass.el (auth-source-pass-entries): Check if
auth-source-pass-filename is a directory prior to
directory-files-recursively.
---
 lisp/auth-source-pass.el | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/lisp/auth-source-pass.el b/lisp/auth-source-pass.el
index 80ddb38fa88..ca68104b19f 100644
--- a/lisp/auth-source-pass.el
+++ b/lisp/auth-source-pass.el
@@ -236,9 +236,10 @@ auth-source-pass--do-debug
 (defun auth-source-pass-entries ()
   "Return a list of all password store entries."
   (let ((store-dir (expand-file-name auth-source-pass-filename)))
-    (mapcar
-     (lambda (file) (file-name-sans-extension (file-relative-name file store-dir)))
-     (directory-files-recursively store-dir "\\.gpg\\'"))))
+    (when (file-directory-p store-dir)
+      (mapcar
+       (lambda (file) (file-name-sans-extension (file-relative-name file store-dir)))
+       (directory-files-recursively store-dir "\\.gpg\\'")))))
 
 (defun auth-source-pass--find-match (hosts user port)
   "Return password-store entry data matching HOSTS, USER and PORT.
-- 
2.48.1


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




In GNU Emacs 30.0.93 (build 1, aarch64-apple-darwin24.3.0, NS
 appkit-2575.40 Version 15.3.1 (Build 24D70)) of 2025-02-16 built on
 mimas.local
Repository revision: e9c4f642b9dca399cbcab2ff59636d12b89cc8fc
Repository branch: emacs-30
Windowing system distributor 'Apple', version 10.3.2575
System Description:  macOS 15.3.1

Configured using:
 'configure 'CPPFLAGS=-DFD_SETSIZE=65536 -D_DARWIN_UNLIMITED_SELECT
 -I/opt/homebrew/include' 'CFLAGS=-g3 -O2' LDFLAGS=-L/opt/homebrew/lib
 TMPDIR=/Users/naofumi/tmp --prefix=/Users/naofumi/.local/emacs/emacs-30
 --with-ns --disable-ns-self-contained --without-dbus --with-mailutils
 --with-native-compilation --with-xwidgets'

Configured features:
ACL GIF GLIB GMP GNUTLS JPEG LCMS2 LIBXML2 MODULES NATIVE_COMP NOTIFY
KQUEUE NS PDUMPER PNG RSVG SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS
TREE_SITTER WEBP XIM XWIDGETS ZLIB

Important settings:
  value of $LC_MESSAGES: en_US.UTF-8
  value of $LC_TIME: C
  value of $LANG: ja_JP.UTF-8
  locale-coding-system: utf-8-hfs

Major mode: Magit

Minor modes in effect:
  delete-selection-mode: t
  display-time-mode: t
  recentf-mode: t
  global-whitespace-mode: t
  whitespace-mode: t
  winner-mode: t
  diff-hl-flydiff-mode: t
  diff-hl-margin-mode: t
  global-diff-hl-mode: t
  pyvenv-tracking-mode: t
  yas-global-mode: t
  yas-minor-mode: t
  nerd-icons-completion-mode: t
  marginalia-mode: t
  vertico-multiform-mode: t
  vertico-mode: t
  savehist-mode: t
  corfu-history-mode: t
  corfu-indexed-mode: t
  corfu-terminal-mode: t
  windmove-mode: t
  global-dmacro-mode: t
  dmacro-mode: t
  which-key-mode: t
  doom-modeline-mode: t
  global-corfu-mode: t
  corfu-mode: t
  projectile-mode: t
  magit-wip-initial-backup-mode: t
  magit-wip-before-change-mode: t
  magit-wip-after-apply-mode: t
  magit-wip-after-save-mode: t
  magit-wip-mode: t
  global-git-commit-mode: t
  magit-auto-revert-mode: t
  global-auto-revert-mode: t
  repeat-mode: t
  server-mode: t
  key-chord-mode: t
  override-global-mode: t
  straight-use-package-mode: t
  straight-package-neutering-mode: t
  straight-live-modifications-mode: t
  global-eldoc-mode: t
  show-paren-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  tab-bar-history-mode: t
  tab-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  minibuffer-regexp-mode: t
  buffer-read-only: t
  column-number-mode: t
  line-number-mode: t
  transient-mark-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t

Load-path shadows:
/Users/naofumi/.emacs.d/straight/build-30/transient/transient hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/transient
/Users/naofumi/.emacs.d/straight/build-30/org/ob-exp hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/ob-exp
/Users/naofumi/.emacs.d/straight/build-30/org/ob-emacs-lisp hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/ob-emacs-lisp
/Users/naofumi/.emacs.d/straight/build-30/org/oc hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/oc
/Users/naofumi/.emacs.d/straight/build-30/org/ob-css hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/ob-css
/Users/naofumi/.emacs.d/straight/build-30/org/ob-lob hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/ob-lob
/Users/naofumi/.emacs.d/straight/build-30/org/ol-irc hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/ol-irc
/Users/naofumi/.emacs.d/straight/build-30/org/ob-forth hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/ob-forth
/Users/naofumi/.emacs.d/straight/build-30/org/org-macs hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/org-macs
/Users/naofumi/.emacs.d/straight/build-30/org/ob hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/ob
/Users/naofumi/.emacs.d/straight/build-30/org/org-version hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/org-version
/Users/naofumi/.emacs.d/straight/build-30/org/ob-scheme hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/ob-scheme
/Users/naofumi/.emacs.d/straight/build-30/org/ox hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/ox
/Users/naofumi/.emacs.d/straight/build-30/org/ob-C hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/ob-C
/Users/naofumi/.emacs.d/straight/build-30/org/org-capture hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/org-capture
/Users/naofumi/.emacs.d/straight/build-30/org/ob-ref hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/ob-ref
/Users/naofumi/.emacs.d/straight/build-30/org/ob-clojure hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/ob-clojure
/Users/naofumi/.emacs.d/straight/build-30/org/org-mouse hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/org-mouse
/Users/naofumi/.emacs.d/straight/build-30/org/org-persist hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/org-persist
/Users/naofumi/.emacs.d/straight/build-30/org/org-ctags hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/org-ctags
/Users/naofumi/.emacs.d/straight/build-30/org/org-entities hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/org-entities
/Users/naofumi/.emacs.d/straight/build-30/org/org-archive hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/org-archive
/Users/naofumi/.emacs.d/straight/build-30/org/ob-screen hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/ob-screen
/Users/naofumi/.emacs.d/straight/build-30/org/ol-bibtex hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/ol-bibtex
/Users/naofumi/.emacs.d/straight/build-30/org/ob-haskell hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/ob-haskell
/Users/naofumi/.emacs.d/straight/build-30/org/org-loaddefs hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/org-loaddefs
/Users/naofumi/.emacs.d/straight/build-30/org/org-table hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/org-table
/Users/naofumi/.emacs.d/straight/build-30/org/ol-eww hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/ol-eww
/Users/naofumi/.emacs.d/straight/build-30/org/ol-man hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/ol-man
/Users/naofumi/.emacs.d/straight/build-30/org/ox-org hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/ox-org
/Users/naofumi/.emacs.d/straight/build-30/org/org-num hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/org-num
/Users/naofumi/.emacs.d/straight/build-30/org/org-plot hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/org-plot
/Users/naofumi/.emacs.d/straight/build-30/org/ol-rmail hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/ol-rmail
/Users/naofumi/.emacs.d/straight/build-30/org/ob-awk hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/ob-awk
/Users/naofumi/.emacs.d/straight/build-30/org/ob-groovy hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/ob-groovy
/Users/naofumi/.emacs.d/straight/build-30/org/ob-octave hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/ob-octave
/Users/naofumi/.emacs.d/straight/build-30/org/org-faces hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/org-faces
/Users/naofumi/.emacs.d/straight/build-30/org/oc-biblatex hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/oc-biblatex
/Users/naofumi/.emacs.d/straight/build-30/org/org-colview hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/org-colview
/Users/naofumi/.emacs.d/straight/build-30/org/ob-R hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/ob-R
/Users/naofumi/.emacs.d/straight/build-30/org/org-refile hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/org-refile
/Users/naofumi/.emacs.d/straight/build-30/org/org-timer hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/org-timer
/Users/naofumi/.emacs.d/straight/build-30/org/org-mobile hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/org-mobile
/Users/naofumi/.emacs.d/straight/build-30/org/ob-fortran hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/ob-fortran
/Users/naofumi/.emacs.d/straight/build-30/org/ob-shell hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/ob-shell
/Users/naofumi/.emacs.d/straight/build-30/org/ob-perl hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/ob-perl
/Users/naofumi/.emacs.d/straight/build-30/org/ob-sqlite hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/ob-sqlite
/Users/naofumi/.emacs.d/straight/build-30/org/oc-basic hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/oc-basic
/Users/naofumi/.emacs.d/straight/build-30/org/ob-sed hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/ob-sed
/Users/naofumi/.emacs.d/straight/build-30/org/org-list hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/org-list
/Users/naofumi/.emacs.d/straight/build-30/org/ob-ruby hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/ob-ruby
/Users/naofumi/.emacs.d/straight/build-30/org/ob-eval hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/ob-eval
/Users/naofumi/.emacs.d/straight/build-30/org/org-habit hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/org-habit
/Users/naofumi/.emacs.d/straight/build-30/org/org-clock hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/org-clock
/Users/naofumi/.emacs.d/straight/build-30/org/org-goto hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/org-goto
/Users/naofumi/.emacs.d/straight/build-30/org/ox-html hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/ox-html
/Users/naofumi/.emacs.d/straight/build-30/org/org-src hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/org-src
/Users/naofumi/.emacs.d/straight/build-30/org/ob-lisp hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/ob-lisp
/Users/naofumi/.emacs.d/straight/build-30/org/ol-eshell hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/ol-eshell
/Users/naofumi/.emacs.d/straight/build-30/org/ob-ditaa hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/ob-ditaa
/Users/naofumi/.emacs.d/straight/build-30/org/org-pcomplete hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/org-pcomplete
/Users/naofumi/.emacs.d/straight/build-30/org/org-lint hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/org-lint
/Users/naofumi/.emacs.d/straight/build-30/org/ox-latex hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/ox-latex
/Users/naofumi/.emacs.d/straight/build-30/org/ob-sass hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/ob-sass
/Users/naofumi/.emacs.d/straight/build-30/org/ob-tangle hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/ob-tangle
/Users/naofumi/.emacs.d/straight/build-30/org/ob-calc hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/ob-calc
/Users/naofumi/.emacs.d/straight/build-30/org/ob-java hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/ob-java
/Users/naofumi/.emacs.d/straight/build-30/org/ox-icalendar hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/ox-icalendar
/Users/naofumi/.emacs.d/straight/build-30/org/ol-mhe hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/ol-mhe
/Users/naofumi/.emacs.d/straight/build-30/org/org-attach-git hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/org-attach-git
/Users/naofumi/.emacs.d/straight/build-30/org/ox-md hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/ox-md
/Users/naofumi/.emacs.d/straight/build-30/org/ox-beamer hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/ox-beamer
/Users/naofumi/.emacs.d/straight/build-30/org/org-element hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/org-element
/Users/naofumi/.emacs.d/straight/build-30/org/oc-natbib hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/oc-natbib
/Users/naofumi/.emacs.d/straight/build-30/org/org-protocol hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/org-protocol
/Users/naofumi/.emacs.d/straight/build-30/org/ob-gnuplot hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/ob-gnuplot
/Users/naofumi/.emacs.d/straight/build-30/org/org-tempo hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/org-tempo
/Users/naofumi/.emacs.d/straight/build-30/org/ob-latex hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/ob-latex
/Users/naofumi/.emacs.d/straight/build-30/org/ol-w3m hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/ol-w3m
/Users/naofumi/.emacs.d/straight/build-30/org/org-id hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/org-id
/Users/naofumi/.emacs.d/straight/build-30/org/ox-man hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/ox-man
/Users/naofumi/.emacs.d/straight/build-30/org/ol-doi hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/ol-doi
/Users/naofumi/.emacs.d/straight/build-30/org/org-feed hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/org-feed
/Users/naofumi/.emacs.d/straight/build-30/org/org-fold-core hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/org-fold-core
/Users/naofumi/.emacs.d/straight/build-30/org/ob-julia hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/ob-julia
/Users/naofumi/.emacs.d/straight/build-30/org/ob-lua hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/ob-lua
/Users/naofumi/.emacs.d/straight/build-30/org/ob-table hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/ob-table
/Users/naofumi/.emacs.d/straight/build-30/org/ob-ocaml hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/ob-ocaml
/Users/naofumi/.emacs.d/straight/build-30/org/oc-csl hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/oc-csl
/Users/naofumi/.emacs.d/straight/build-30/org/ol-gnus hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/ol-gnus
/Users/naofumi/.emacs.d/straight/build-30/org/org-indent hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/org-indent
/Users/naofumi/.emacs.d/straight/build-30/org/ob-lilypond hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/ob-lilypond
/Users/naofumi/.emacs.d/straight/build-30/org/ob-matlab hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/ob-matlab
/Users/naofumi/.emacs.d/straight/build-30/org/org-datetree hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/org-datetree
/Users/naofumi/.emacs.d/straight/build-30/org/ol-docview hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/ol-docview
/Users/naofumi/.emacs.d/straight/build-30/org/oc-bibtex hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/oc-bibtex
/Users/naofumi/.emacs.d/straight/build-30/org/ob-python hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/ob-python
/Users/naofumi/.emacs.d/straight/build-30/org/ob-makefile hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/ob-makefile
/Users/naofumi/.emacs.d/straight/build-30/org/org-duration hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/org-duration
/Users/naofumi/.emacs.d/straight/build-30/org/org-agenda hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/org-agenda
/Users/naofumi/.emacs.d/straight/build-30/org/ob-dot hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/ob-dot
/Users/naofumi/.emacs.d/straight/build-30/org/ob-js hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/ob-js
/Users/naofumi/.emacs.d/straight/build-30/org/ox-publish hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/ox-publish
/Users/naofumi/.emacs.d/straight/build-30/org/org-inlinetask hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/org-inlinetask
/Users/naofumi/.emacs.d/straight/build-30/org/ob-org hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/ob-org
/Users/naofumi/.emacs.d/straight/build-30/org/org-keys hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/org-keys
/Users/naofumi/.emacs.d/straight/build-30/org/ob-core hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/ob-core
/Users/naofumi/.emacs.d/straight/build-30/org/org-compat hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/org-compat
/Users/naofumi/.emacs.d/straight/build-30/org/ol hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/ol
/Users/naofumi/.emacs.d/straight/build-30/org/ox-odt hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/ox-odt
/Users/naofumi/.emacs.d/straight/build-30/org/ol-info hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/ol-info
/Users/naofumi/.emacs.d/straight/build-30/org/ob-plantuml hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/ob-plantuml
/Users/naofumi/.emacs.d/straight/build-30/org/ob-eshell hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/ob-eshell
/Users/naofumi/.emacs.d/straight/build-30/org/ox-ascii hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/ox-ascii
/Users/naofumi/.emacs.d/straight/build-30/org/ox-koma-letter hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/ox-koma-letter
/Users/naofumi/.emacs.d/straight/build-30/org/ob-maxima hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/ob-maxima
/Users/naofumi/.emacs.d/straight/build-30/org/org hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/org
/Users/naofumi/.emacs.d/straight/build-30/org/ol-bbdb hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/ol-bbdb
/Users/naofumi/.emacs.d/straight/build-30/org/org-macro hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/org-macro
/Users/naofumi/.emacs.d/straight/build-30/org/org-fold hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/org-fold
/Users/naofumi/.emacs.d/straight/build-30/org/ob-sql hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/ob-sql
/Users/naofumi/.emacs.d/straight/build-30/org/org-attach hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/org-attach
/Users/naofumi/.emacs.d/straight/build-30/org/org-cycle hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/org-cycle
/Users/naofumi/.emacs.d/straight/build-30/org/ob-processing hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/ob-processing
/Users/naofumi/.emacs.d/straight/build-30/org/ox-texinfo hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/ox-texinfo
/Users/naofumi/.emacs.d/straight/build-30/org/org-crypt hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/org-crypt
/Users/naofumi/.emacs.d/straight/build-30/org/org-footnote hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/org-footnote
/Users/naofumi/.emacs.d/straight/build-30/org/org-element-ast hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/org-element-ast
/Users/naofumi/.emacs.d/straight/build-30/org/ob-comint hides /Users/naofumi/.local/emacs/emacs-30/share/emacs/30.0.93/lisp/org/ob-comint

Features:
(shadow sort mail-extr emacsbug view reveal display-line-numbers
magit-patch goto-addr consult-imenu affe consult magit-bookmark bookmark
vc-git tramp-cmds magit-extras emacsql-sqlite-builtin sqlite
mc-edit-lines mc-hide-unmatched-lines-mode mc-mark-more sgml-mode
facemenu mc-cycle-cursors multiple-cursors-core rect help-fns cl-print
debug backtrace ispell cape wdired misearch multi-isearch skk-isearch
dired-aux gnus-dired vertico-directory vertico-repeat vertico-indexed
org-duration org-clock diary-lib diary-loaddefs org-superstar toc-org
org-indent org-num oc-basic pulse face-remap skk-cursor ccc skk-sticky
skk-dcomp skk-comp skk-look skk-server skk-version skk-study skk-hint
skk-cus skk-emacs skk-macs skk-vars skk delsel time recentf-ext recentf
tree-widget whitespace winner diff-hl-flydiff diff-hl-margin
diff-hl-dired diff-hl log-view vc-dir ewoc pyvenv eshell esh-cmd esh-ext
esh-opt esh-proc esh-io esh-arg esh-module esh-module-loaddefs esh-util
yasnippet nerd-icons-completion marginalia vertico-multiform
vertico-buffer vertico savehist corfu-history corfu-indexed
corfu-terminal win-switch windmove dmacro which-key doom-modeline
doom-modeline-segments doom-modeline-env doom-modeline-core shrink-path
f nerd-icons nerd-icons-faces nerd-icons-data nerd-icons-data-mdicon
nerd-icons-data-flicon nerd-icons-data-codicon nerd-icons-data-devicon
nerd-icons-data-sucicon nerd-icons-data-wicon nerd-icons-data-faicon
nerd-icons-data-powerline nerd-icons-data-octicon
nerd-icons-data-pomicon nerd-icons-data-ipsicon
doom-tomorrow-night-theme doom-themes doom-themes-base
doom-themes-autoloads base16-tomorrow-night-theme base16-theme
base16-theme-autoloads doom-modeline-autoloads shrink-path-autoloads
nerd-icons-completion-autoloads nerd-icons-autoloads
all-the-icons-autoloads vlf-setup vlf-autoloads helpful-autoloads
elisp-refs-autoloads dmacro-autoloads multiple-cursors-autoloads
shell-pop term disp-table ehelp shell-pop-autoloads win-switch-autoloads
w3m-autoloads multi-vterm-autoloads vterm-autoloads multi-term-autoloads
ace-window ace-link avy ace-link-autoloads ace-jump-buffer-autoloads
affe-autoloads cape-autoloads kind-icon svg-lib kind-icon-autoloads
svg-lib-autoloads corfu-terminal-autoloads popon popon-autoloads
corfu-quick corfu-info corfu corfu-autoloads vertico-autoloads orderless
orderless-autoloads embark-consult-autoloads embark-autoloads
consult-yasnippet-autoloads consult-lsp-autoloads
consult-eglot-autoloads consult-dir-autoloads consult-ag-autoloads
consult-autoloads marginalia-autoloads migemo migemo-autoloads
visual-regexp-steroids-autoloads visual-regexp-autoloads
symbol-overlay-autoloads wgrep-ag-autoloads ag-autoloads rg rg-info-hack
rg-menu rg-ibuffer rg-result wgrep-rg wgrep rg-history rg-header
cus-edit cus-load rg-autoloads wgrep-autoloads smart-jump-python
smart-jump-lisp-mode smart-jump-elisp-mode smart-jump-csharp-mode
smart-jump-cc-mode smart-jump smart-jump-autoloads dumb-jump popup xref
hydra advice lv dumb-jump-autoloads popup-autoloads ellama spinner
llm-openai llm-provider-utils llm-models llm-request-plz
plz-event-source plz-media-type plz ellama-autoloads gptel gptel-org
gptel-openai gptel-autoloads llm llm-autoloads
plz-event-source-autoloads plz-media-type-autoloads plz-autoloads
dap-mode-autoloads lsp-docker-autoloads lsp-treemacs-autoloads
treemacs-autoloads cfrs-autoloads posframe-autoloads hydra-autoloads
pfuture-autoloads ace-window-autoloads avy-autoloads bui-autoloads
lsp-mode-autoloads lv-autoloads ht-autoloads cov-autoloads
elquery-autoloads imenu-list-autoloads yasnippet-autoloads
devdocs-autoloads mathjax-autoloads android-mode-autoloads
grip-mode-autoloads markdown-preview-mode-autoloads web-server-autoloads
markdown-toc-autoloads gradle-mode-autoloads ninja-mode-autoloads
meson-mode-autoloads cmake-mode-autoloads powershell-autoloads
csv-mode-autoloads toml-mode-autoloads yaml-mode-autoloads
groovy-mode-autoloads kotlin-mode-autoloads csharp-mode c-ts-common
cc-langs web-mode-autoloads php-mode-autoloads go-mode-autoloads
rustic-autoloads flycheck-autoloads xterm-color-autoloads
spinner-autoloads rust-mode-autoloads haskell-mode-autoloads
ein-autoloads polymode-autoloads deferred-autoloads request-autoloads
anaphora-autoloads websocket-autoloads pipenv-autoloads
load-env-vars-autoloads pyvenv-autoloads slime-autoloads
macrostep-autoloads org-projectile org-project-capture s
org-project-capture-backend org-category-capture org-capture projectile
grep compile ibuf-ext ibuffer ibuffer-loaddefs org-projectile-autoloads
org-project-capture-autoloads org-category-capture-autoloads
projectile-autoloads git-timemachine-autoloads git-modes-autoloads
diff-hl-autoloads orgit-forge orgit-forge-autoloads forge-repos
forge-tablist hl-line forge-topics forge-commands forge-semi
forge-bitbucket buck forge-gogs gogs forge-gitea gtea forge-gitlab glab
forge-github ghub-graphql treepy gsexp ghub let-alist forge-forgejo
forge-notify forge-revnote forge-pullreq forge-issue forge-topic yaml
eieio-custom bug-reference forge-post markdown-mode color forge-repo
forge forge-core forge-db closql emacsql-sqlite emacsql emacsql-compiler
eieio-base forge-autoloads yaml-autoloads markdown-mode-autoloads
ghub-autoloads treepy-autoloads orgit orgit-autoloads magit-submodule
magit-blame magit-stash magit-reflog magit-bisect magit-push magit-pull
magit-fetch magit-clone magit-remote magit-commit magit-sequence
magit-notes magit-worktree magit-tag magit-merge magit-branch
magit-reset magit-files magit-refs magit-status magit magit-repos
magit-apply magit-wip magit-log which-func imenu magit-diff smerge-mode
diff diff-mode track-changes git-commit log-edit pcvs-util add-log
magit-core magit-autorevert autorevert magit-margin magit-transient
magit-process with-editor magit-mode benchmark magit-git magit-base
magit-section cursor-sensor crm llama magit-autoloads transient pp
transient-autoloads vc vc-dispatcher nhexl-mode-autoloads
notmuch-autoloads ob-plantuml plantuml-mode dash plantuml-mode-autoloads
ox-gfm ox-md ox-odt rng-loc rng-uri rng-parse rng-match rng-dt rng-util
rng-pttrn nxml-parse nxml-ns nxml-enc xmltok nxml-util ox-latex
ox-icalendar org-agenda ox-html table ox-ascii ox-publish ox
ox-gfm-autoloads org-tree-slide-autoloads toc-org-autoloads
org-roam-autoloads magit-section-autoloads org-download org-element
org-persist avl-tree generator org-attach org-id org-refile
org-element-ast inline url-http url-auth url-gw nsm async
org-download-autoloads async-autoloads org-superstar-autoloads ob-shell
ob-screen ob-python python project compat ob-C cc-mode cc-fonts cc-guess
cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs ol-eww eww
url-queue mm-url ol-rmail ol-mhe ol-irc ol-info ol-gnus nnselect
gnus-art mm-uu mml2015 mm-view mml-smime smime gnutls dig gnus-sum shr
pixel-fill kinsoku url-file svg dom gnus-group gnus-undo gnus-start
gnus-dbus dbus xml gnus-cloud nnimap nnmail mail-source utf7 nnoo
gnus-spec gnus-int gnus-range message sendmail yank-media puny rfc822
mml mml-sec epa derived epg rfc6068 mm-decode mm-bodies mm-encode
mail-parse rfc2231 rfc2047 rfc2045 ietf-drums mailabbrev gmm-utils
mailheader gnus-win gnus nnheader gnus-util text-property-search
mail-utils range mm-util mail-prsvr wid-edit ol-docview doc-view
filenotify jka-compr image-mode exif dired dired-loaddefs ol-bibtex
bibtex ol-bbdb ol-w3m ol-doi org-link-doi org-tempo tempo org-contrib
org-contrib-autoloads org ob ob-tangle ob-ref ob-lob ob-table ob-exp
org-macro org-src sh-script smie treesit executable ob-comint
org-pcomplete org-list org-footnote org-faces org-entities noutline
outline ob-emacs-lisp ob-core ob-eval org-cycle org-table ol org-fold
org-fold-core org-keys oc org-loaddefs find-func org-version org-compat
org-macs japanese-holidays holidays holiday-loaddefs
japanese-holidays-autoloads finder-inf cal-iso cal-menu calendar
cal-loaddefs pass-autoloads f-autoloads dash-autoloads
password-store-otp-autoloads s-autoloads password-store-autoloads
with-editor-autoloads auth-source-pass epg-config sr-speedbar-autoloads
recentf-ext-autoloads cua-base dabbrev repeat tramp trampver
tramp-integration files-x tramp-message tramp-compat xdg shell pcomplete
comint ansi-osc ring parse-time iso8601 time-date format-spec ansi-color
tramp-loaddefs ffap thingatpt ddskk-autoloads cdb-autoloads
ccc-autoloads edmacro kmacro exec-path-from-shell
exec-path-from-shell-autoloads epkg-autoloads llama-autoloads
closql-autoloads emacsql-autoloads sqlite3-autoloads package-utils
package browse-url url url-proxy url-privacy url-expand url-methods
url-history url-cookie url-domsuf url-util mailcap url-handlers
url-parse auth-source eieio eieio-core password-cache json map url-vars
package-utils-autoloads restart-emacs desktop frameset server
restart-emacs-autoloads use-package-chords bind-chord
use-package-chords-autoloads bind-chord-autoloads key-chord comp
comp-cstr warnings icons comp-run comp-common rx key-chord-autoloads
diminish diminish-autoloads use-package use-package-ensure
use-package-delight use-package-diminish use-package-bind-key bind-key
use-package-core straight-x straight-autoloads cl-extra help-mode
straight info loaddefs-gen generate-lisp-file lisp-mnt radix-tree
easy-mmode cl-seq pcase subr-x byte-opt cl-macs gv bytecomp byte-compile
cl-loaddefs cl-lib japan-util rmc iso-transl tooltip cconv eldoc paren
electric uniquify ediff-hook vc-hooks lisp-float-type elisp-mode mwheel
term/ns-win ns-win ucs-normalize mule-util term/common-win tool-bar dnd
fontset image regexp-opt fringe tabulated-list replace newcomment
text-mode lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow
isearch easymenu timer select scroll-bar mouse jit-lock font-lock syntax
font-core term/tty-colors frame minibuffer nadvice seq simple cl-generic
indonesian philippine cham georgian utf-8-lang misc-lang vietnamese
tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek
romanian slovak czech european ethiopic indian cyrillic chinese
composite emoji-zwj charscript charprop case-table epa-hook
jka-cmpr-hook help abbrev obarray oclosure cl-preloaded button loaddefs
theme-loaddefs faces cus-face macroexp files window text-properties
overlay sha1 md5 base64 format env code-pages mule custom widget keymap
hashtable-print-readable backquote threads xwidget-internal kqueue cocoa
ns lcms2 multi-tty make-network-process native-compile emacs)

Memory information:
((conses 16 1066983 1414690) (symbols 48 61265 9)
 (strings 32 268937 87377) (string-bytes 1 10805502)
 (vectors 16 132271) (vector-slots 8 2278992 447862)
 (floats 8 1542 9526) (intervals 56 24911 5422) (buffers 992 60))

--=-=-=--




Acknowledgement sent to Naofumi Yasufuku <naofumi@HIDDEN>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs@HIDDEN. Full text available.
Report forwarded to bug-gnu-emacs@HIDDEN:
bug#76323; Package emacs. Full text available.
Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.
Last modified: Wed, 19 Feb 2025 02:15:03 UTC

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