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.

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


Received: (at 76323) by debbugs.gnu.org; 8 Mar 2025 09:49:22 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Mar 08 04:49:22 2025
Received: from localhost ([127.0.0.1]:52890 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tqqo4-00057w-Vg
	for submit <at> debbugs.gnu.org; Sat, 08 Mar 2025 04:49:22 -0500
Received: from mta-14-3.privateemail.com ([198.54.127.110]:49897)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <basil@HIDDEN>)
 id 1tqqo0-00057c-Fr
 for 76323 <at> debbugs.gnu.org; Sat, 08 Mar 2025 04:49:18 -0500
Received: from mta-14.privateemail.com (localhost [127.0.0.1])
 by mta-14.privateemail.com (Postfix) with ESMTP id 4Z8yzT1MVzz3hhTs;
 Sat,  8 Mar 2025 04:49:09 -0500 (EST)
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=contovou.net;
 s=default; t=1741427349;
 bh=OZfWDd/kPPI9QmvwDBo56VeS3O7hLA45Z/a9ugEQyFM=;
 h=From:To:Cc:Subject:In-Reply-To:References:Date:From;
 b=mD+VpSLDKhHcXg6SiaVssuiaDAIW2oEfuGXsHf3wxSGWOQn4s+7uFrVOeKKjUIX57
 Nj4NK/NiWBrHaqgeLo+cAsLT8WUhN0476+31kG4c1S7iGqEoqlUD1GsqxhbPg/SvLD
 TC6CeiyqgsU5Y/XPFhFKvMpBCUnHtjwi++fk4KnqMPxxTHSQsCUv2NKs7wwAeNO8V6
 6vBOWqmV/22xFrAbRSarorc90o2ExWsOwii1CwXy1TkereGlkl33kKa6E0AeEVWYcP
 palQ+InMJ9MaAH5fg/24ApcPKvusolbU15UKNltOoWodZmWP6LV59cwfcd/CAdLlan
 D7gQGOalMZ8vA==
Received: from localhost (unknown [5.203.171.117])
 by mta-14.privateemail.com (Postfix) with ESMTPA;
 Sat,  8 Mar 2025 04:49:05 -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: <m0a5a645rr.fsf@HIDDEN>
References: <m1msem4ft8.fsf@HIDDEN> <87frkel04h.fsf@HIDDEN>
 <m1tt8u9emq.fsf@HIDDEN> <87frkd7s6l.fsf@HIDDEN>
 <m0a5a645rr.fsf@HIDDEN>
Date: Sat, 08 Mar 2025 10:48:58 +0100
Message-ID: <87a59vonsl.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: Damien Cassou <damien@HIDDEN>, 76323 <at> debbugs.gnu.org, "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 (-)

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

Damien Cassou [2025-02-28 13:23 +0100] wrote:

> "Basil L. Contovounesios" <basil@HIDDEN> writes:
>> If there are no objections, I think this can be applied soon.
> ok for me. Thank you.

Thank you for confirming.

Applying the patch leads to the attached test failures.  It looks like
the tests did not require an existing auth-source-pass-filename until
now.  Perhaps the following fix is sufficient?


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

diff --git a/test/lisp/auth-source-pass-tests.el b/test/lisp/auth-source-pass-tests.el
index ac88f3de030..48796086970 100644
--- a/test/lisp/auth-source-pass-tests.el
+++ b/test/lisp/auth-source-pass-tests.el
@@ -92,7 +92,8 @@ auth-source-pass--with-store
      (let ((auth-source-debug #'auth-source-pass--debug)
            (auth-source-pass--debug-log nil)
            (auth-source-pass--parse-log nil))
-       ,@body)))
+       (ert-with-temp-directory auth-source-pass-filename
+         ,@body))))
 
 (defun auth-source-pass--explain-match-entry-p (entry hostname &optional user port)
   "Explainer function for `auth-source-pass-match-entry-p'.

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


Yasufuku-san, would you like to provide an updated patch?

Thanks,
-- 
Basil


--=-=-=
Content-Type: text/plain
Content-Disposition: attachment; filename=auth-source-pass-tests.log

-*- mode: compilation; default-directory: "~/.local/src/emacs/" -*-
Compilation started at Sat Mar  8 10:44:00

make TEST_LOAD_EL=no test/auth-source-pass-tests
make -C test auth-source-pass-tests
make[1]: Entering directory '/home/blc/.local/src/emacs/test'
make[2]: Entering directory '/home/blc/.local/src/emacs/test'
  ELC      lisp/auth-source-pass-tests.elc
  GEN      lisp/auth-source-pass-tests.log
Running 50 tests (2025-03-08 10:44:01+0100, selector `(not (or (tag :unstable) (tag :nativecomp)))')
   passed   1/50  auth-source-pass--disambiguate-extract-host-from-hostname (0.026075 sec)
   passed   2/50  auth-source-pass--disambiguate-extract-port-from-hostname (0.000242 sec)
   passed   3/50  auth-source-pass--disambiguate-extract-user-from-hostname (0.000220 sec)
   passed   4/50  auth-source-pass--disambiguate-prefer-port-parameter (0.000211 sec)
   passed   5/50  auth-source-pass--disambiguate-prefer-user-parameter (0.000212 sec)
   passed   6/50  auth-source-pass--find-match-return-parsed-data (0.000242 sec)
   passed   7/50  auth-source-pass--matching-entries (0.000390 sec)
   passed   8/50  auth-source-pass--matching-entries-find-entries-with-a-port (0.000080 sec)
   passed   9/50  auth-source-pass--matching-entries-find-entries-with-a-port-when-passed-multiple-ports (0.000157 sec)
   passed  10/50  auth-source-pass--matching-entries-find-entries-with-a-username (0.000266 sec)
   passed  11/50  auth-source-pass--matching-entries-find-entries-with-slash (0.000243 sec)
   passed  12/50  auth-source-pass--matching-entries-sort-results (0.000470 sec)
   passed  13/50  auth-source-pass-all-supported-organizations (0.001892 sec)
   passed  14/50  auth-source-pass-any-host (0.003013 sec)
   passed  15/50  auth-source-pass-build-result-entry-takes-precedence (0.000277 sec)
   passed  16/50  auth-source-pass-build-result-return-entry-values (0.000154 sec)
   passed  17/50  auth-source-pass-build-result-return-parameters (0.000171 sec)
   passed  18/50  auth-source-pass-build-result-with-multiple-hosts (0.000267 sec)
   passed  19/50  auth-source-pass-build-result-with-multiple-hosts-no-match (0.000237 sec)
Test auth-source-pass-can-start-from-auth-source-search backtrace:
  signal(ert-test-failed (((should (equal (plist-get result :user) "so
  ert-fail(((should (equal (plist-get result :user) "someone")) :form 
  #f(compiled-function () #<bytecode -0xb7974fe07c738cf>)()
  #f(compiled-function () #<bytecode 0x84afd65454f8ec7>)()
  handler-bind-1(#f(compiled-function () #<bytecode 0x84afd65454f8ec7>
  ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test
  ert-run-test(#s(ert-test :name auth-source-pass-can-start-from-auth-
  ert-run-or-rerun-test(#s(ert--stats :selector ... :tests ... :test-m
  ert-run-tests((not (or (tag :unstable) (tag :nativecomp))) #f(compil
  ert-run-tests-batch((not (or (tag :unstable) (tag :nativecomp))))
  ert-run-tests-batch-and-exit((not (or (tag :unstable) (tag :nativeco
  eval((ert-run-tests-batch-and-exit '(not (or (tag :unstable) (tag :n
  command-line-1(("-L" ":." "-l" "ert" "--eval" "(setq treesit-extra-l
  command-line()
  normal-top-level()
Test auth-source-pass-can-start-from-auth-source-search condition:
    (ert-test-failed
     ((should (equal (plist-get result :user) "someone")) :form
      (equal nil "someone") :value nil :explanation
      (different-types nil "someone")))
   FAILED  20/50  auth-source-pass-can-start-from-auth-source-search (0.000538 sec) at lisp/auth-source-pass-tests.el:467
Test auth-source-pass-extra-query-keywords--akib backtrace:
  signal(ert-test-failed (((should (equal results '((:host "disroot.or
  ert-fail(((should (equal results '((:host "disroot.org" :user "akib"
  #f(compiled-function () #<bytecode -0x83ca3c541d1f226>)()
  #f(compiled-function () #<bytecode 0x84afd65454f8ec7>)()
  handler-bind-1(#f(compiled-function () #<bytecode 0x84afd65454f8ec7>
  ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test
  ert-run-test(#s(ert-test :name auth-source-pass-extra-query-keywords
  ert-run-or-rerun-test(#s(ert--stats :selector ... :tests ... :test-m
  ert-run-tests((not (or (tag :unstable) (tag :nativecomp))) #f(compil
  ert-run-tests-batch((not (or (tag :unstable) (tag :nativecomp))))
  ert-run-tests-batch-and-exit((not (or (tag :unstable) (tag :nativeco
  eval((ert-run-tests-batch-and-exit '(not (or (tag :unstable) (tag :n
  command-line-1(("-L" ":." "-l" "ert" "--eval" "(setq treesit-extra-l
  command-line()
  normal-top-level()
Test auth-source-pass-extra-query-keywords--akib condition:
    (ert-test-failed
     ((should (equal results '(...))) :form
      (equal nil ((:host "disroot.org" :user "akib" :secret "b"))) :value
      nil :explanation
      (different-types nil
		       ((:host "disroot.org" :user "akib" :secret "b")))))
   FAILED  21/50  auth-source-pass-extra-query-keywords--akib (0.000824 sec) at lisp/auth-source-pass-tests.el:630
Test auth-source-pass-extra-query-keywords--ambiguous-user-host backtrace:
  signal(ert-test-failed (((should (equal results '((:host "bar.org" :
  ert-fail(((should (equal results '((:host "bar.org" :secret "c")))) 
  #f(compiled-function () #<bytecode -0x83ca3c541d1f226>)()
  #f(compiled-function () #<bytecode 0x84afd65454f8ec7>)()
  handler-bind-1(#f(compiled-function () #<bytecode 0x84afd65454f8ec7>
  ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test
  ert-run-test(#s(ert-test :name auth-source-pass-extra-query-keywords
  ert-run-or-rerun-test(#s(ert--stats :selector ... :tests ... :test-m
  ert-run-tests((not (or (tag :unstable) (tag :nativecomp))) #f(compil
  ert-run-tests-batch((not (or (tag :unstable) (tag :nativecomp))))
  ert-run-tests-batch-and-exit((not (or (tag :unstable) (tag :nativeco
  eval((ert-run-tests-batch-and-exit '(not (or (tag :unstable) (tag :n
  command-line-1(("-L" ":." "-l" "ert" "--eval" "(setq treesit-extra-l
  command-line()
  normal-top-level()
Test auth-source-pass-extra-query-keywords--ambiguous-user-host condition:
    (ert-test-failed
     ((should (equal results '(...))) :form
      (equal nil ((:host "bar.org" :secret "c"))) :value nil :explanation
      (different-types nil ((:host "bar.org" :secret "c")))))
   FAILED  22/50  auth-source-pass-extra-query-keywords--ambiguous-user-host (0.000462 sec) at lisp/auth-source-pass-tests.el:731
Test auth-source-pass-extra-query-keywords--baseline backtrace:
  signal(ert-test-failed (((should (equal (auth-source-search :host "f
  ert-fail(((should (equal (auth-source-search :host "foo") '((:host "
  #f(compiled-function () #<bytecode 0x6738477e320d0d>)()
  #f(compiled-function () #<bytecode 0x84afd65454f8ec7>)()
  handler-bind-1(#f(compiled-function () #<bytecode 0x84afd65454f8ec7>
  ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test
  ert-run-test(#s(ert-test :name auth-source-pass-extra-query-keywords
  ert-run-or-rerun-test(#s(ert--stats :selector ... :tests ... :test-m
  ert-run-tests((not (or (tag :unstable) (tag :nativecomp))) #f(compil
  ert-run-tests-batch((not (or (tag :unstable) (tag :nativecomp))))
  ert-run-tests-batch-and-exit((not (or (tag :unstable) (tag :nativeco
  eval((ert-run-tests-batch-and-exit '(not (or (tag :unstable) (tag :n
  command-line-1(("-L" ":." "-l" "ert" "--eval" "(setq treesit-extra-l
  command-line()
  normal-top-level()
Test auth-source-pass-extra-query-keywords--baseline condition:
    (ert-test-failed
     ((should (equal (auth-source-search :host "foo") '(...))) :form
      (equal nil ((:host "foo"))) :value nil :explanation
      (different-types nil ((:host "foo")))))
   FAILED  23/50  auth-source-pass-extra-query-keywords--baseline (0.000457 sec) at lisp/auth-source-pass-tests.el:681
Test auth-source-pass-extra-query-keywords--host backtrace:
  signal(ert-test-failed (((should (equal results '((:host "Libera.Cha
  ert-fail(((should (equal results '((:host "Libera.Chat" :secret "b")
  #f(compiled-function () #<bytecode -0x83ca3c541d1f226>)()
  #f(compiled-function () #<bytecode 0x84afd65454f8ec7>)()
  handler-bind-1(#f(compiled-function () #<bytecode 0x84afd65454f8ec7>
  ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test
  ert-run-test(#s(ert-test :name auth-source-pass-extra-query-keywords
  ert-run-or-rerun-test(#s(ert--stats :selector ... :tests ... :test-m
  ert-run-tests((not (or (tag :unstable) (tag :nativecomp))) #f(compil
  ert-run-tests-batch((not (or (tag :unstable) (tag :nativecomp))))
  ert-run-tests-batch-and-exit((not (or (tag :unstable) (tag :nativeco
  eval((ert-run-tests-batch-and-exit '(not (or (tag :unstable) (tag :n
  command-line-1(("-L" ":." "-l" "ert" "--eval" "(setq treesit-extra-l
  command-line()
  normal-top-level()
Test auth-source-pass-extra-query-keywords--host condition:
    (ert-test-failed
     ((should (equal results '(...))) :form
      (equal nil ((:host "Libera.Chat" :secret "b"))) :value nil
      :explanation
      (different-types nil ((:host "Libera.Chat" :secret "b")))))
   FAILED  24/50  auth-source-pass-extra-query-keywords--host (0.000535 sec) at lisp/auth-source-pass-tests.el:658
Test auth-source-pass-extra-query-keywords--hosts-first backtrace:
  signal(ert-test-failed (((should (equal results '((:host "x.com" :se
  ert-fail(((should (equal results '((:host "x.com" :secret "c") (:hos
  #f(compiled-function () #<bytecode -0x83ca3c541d1f226>)()
  #f(compiled-function () #<bytecode 0x84afd65454f8ec7>)()
  handler-bind-1(#f(compiled-function () #<bytecode 0x84afd65454f8ec7>
  ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test
  ert-run-test(#s(ert-test :name auth-source-pass-extra-query-keywords
  ert-run-or-rerun-test(#s(ert--stats :selector ... :tests ... :test-m
  ert-run-tests((not (or (tag :unstable) (tag :nativecomp))) #f(compil
  ert-run-tests-batch((not (or (tag :unstable) (tag :nativecomp))))
  ert-run-tests-batch-and-exit((not (or (tag :unstable) (tag :nativeco
  eval((ert-run-tests-batch-and-exit '(not (or (tag :unstable) (tag :n
  command-line-1(("-L" ":." "-l" "ert" "--eval" "(setq treesit-extra-l
  command-line()
  normal-top-level()
Test auth-source-pass-extra-query-keywords--hosts-first condition:
    (ert-test-failed
     ((should (equal results '(... ... ...))) :form
      (equal nil
	     ((:host "x.com" :secret "c")
	      (:host "x.com" :user "bar" :port "42" :secret "a")
	      (:host "x.com" :user "foo" :secret "e")))
      :value nil :explanation
      (different-types nil
		       ((:host "x.com" :secret "c")
			(:host "x.com" :user "bar" :port "42" :secret "a")
			(:host "x.com" :user "foo" :secret "e")))))
   FAILED  25/50  auth-source-pass-extra-query-keywords--hosts-first (0.000443 sec) at lisp/auth-source-pass-tests.el:712
   passed  26/50  auth-source-pass-extra-query-keywords--netrc-akib (0.001084 sec)
   passed  27/50  auth-source-pass-extra-query-keywords--netrc-baseline (0.000452 sec)
   passed  28/50  auth-source-pass-extra-query-keywords--netrc-host (0.000537 sec)
Test auth-source-pass-extra-query-keywords--port-type backtrace:
  signal(ert-test-failed (((should (equal (mapcar f (auth-source-searc
  ert-fail(((should (equal (mapcar f (auth-source-search :host "x.com"
  #f(compiled-function () #<bytecode 0x90b1b551d420e86>)()
  #f(compiled-function () #<bytecode 0x84afd65454f8ec7>)()
  handler-bind-1(#f(compiled-function () #<bytecode 0x84afd65454f8ec7>
  ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test
  ert-run-test(#s(ert-test :name auth-source-pass-extra-query-keywords
  ert-run-or-rerun-test(#s(ert--stats :selector ... :tests ... :test-m
  ert-run-tests((not (or (tag :unstable) (tag :nativecomp))) #f(compil
  ert-run-tests-batch((not (or (tag :unstable) (tag :nativecomp))))
  ert-run-tests-batch-and-exit((not (or (tag :unstable) (tag :nativeco
  eval((ert-run-tests-batch-and-exit '(not (or (tag :unstable) (tag :n
  command-line-1(("-L" ":." "-l" "ert" "--eval" "(setq treesit-extra-l
  command-line()
  normal-top-level()
Test auth-source-pass-extra-query-keywords--port-type condition:
    (ert-test-failed
     ((should (equal (mapcar f ...) '(...))) :form
      (equal nil ((:host "x.com" :port 42 :secret "a"))) :value nil
      :explanation
      (different-types nil ((:host "x.com" :port 42 :secret "a")))))
   FAILED  29/50  auth-source-pass-extra-query-keywords--port-type (0.000405 sec) at lisp/auth-source-pass-tests.el:689
   passed  30/50  auth-source-pass-extra-query-keywords--req-noparam-miss (0.000422 sec)
   passed  31/50  auth-source-pass-extra-query-keywords--req-noparam-miss-netrc (0.000653 sec)
Test auth-source-pass-extra-query-keywords--req-param backtrace:
  signal(ert-test-failed (((should (equal results '((:host "foo" :user
  ert-fail(((should (equal results '((:host "foo" :user "bob" :secret 
  #f(compiled-function () #<bytecode -0x1a53c7eb5556092f>)()
  #f(compiled-function () #<bytecode 0x84afd65454f8ec7>)()
  handler-bind-1(#f(compiled-function () #<bytecode 0x84afd65454f8ec7>
  ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test
  ert-run-test(#s(ert-test :name auth-source-pass-extra-query-keywords
  ert-run-or-rerun-test(#s(ert--stats :selector ... :tests ... :test-m
  ert-run-tests((not (or (tag :unstable) (tag :nativecomp))) #f(compil
  ert-run-tests-batch((not (or (tag :unstable) (tag :nativecomp))))
  ert-run-tests-batch-and-exit((not (or (tag :unstable) (tag :nativeco
  eval((ert-run-tests-batch-and-exit '(not (or (tag :unstable) (tag :n
  command-line-1(("-L" ":." "-l" "ert" "--eval" "(setq treesit-extra-l
  command-line()
  normal-top-level()
Test auth-source-pass-extra-query-keywords--req-param condition:
    (ert-test-failed
     ((should (equal results '(...))) :form
      (equal nil ((:host "foo" :user "bob" :secret "a"))) :value nil
      :explanation
      (different-types nil ((:host "foo" :user "bob" :secret "a")))))
   FAILED  32/50  auth-source-pass-extra-query-keywords--req-param (0.000367 sec) at lisp/auth-source-pass-tests.el:580
   passed  33/50  auth-source-pass-extra-query-keywords--req-param-netrc (0.000600 sec)
Test auth-source-pass-extra-query-keywords--suffixed-user backtrace:
  signal(ert-test-failed (((should (equal results '((:host "x.com" :us
  ert-fail(((should (equal results '((:host "x.com" :user "s p@m" :sec
  #f(compiled-function () #<bytecode -0x5cca815e832d3b8>)()
  #f(compiled-function () #<bytecode 0x84afd65454f8ec7>)()
  handler-bind-1(#f(compiled-function () #<bytecode 0x84afd65454f8ec7>
  ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test
  ert-run-test(#s(ert-test :name auth-source-pass-extra-query-keywords
  ert-run-or-rerun-test(#s(ert--stats :selector ... :tests ... :test-m
  ert-run-tests((not (or (tag :unstable) (tag :nativecomp))) #f(compil
  ert-run-tests-batch((not (or (tag :unstable) (tag :nativecomp))))
  ert-run-tests-batch-and-exit((not (or (tag :unstable) (tag :nativeco
  eval((ert-run-tests-batch-and-exit '(not (or (tag :unstable) (tag :n
  command-line-1(("-L" ":." "-l" "ert" "--eval" "(setq treesit-extra-l
  command-line()
  normal-top-level()
Test auth-source-pass-extra-query-keywords--suffixed-user condition:
    (ert-test-failed
     ((should (equal results '(... ... ... ... ...))) :form
      (equal nil
	     ((:host "x.com" :user "s p@m" :secret "b")
	      (:host "x.com" :user "s p@m" :port "42" :secret "a")
	      (:host "fa ke" :user "s p@m" :secret "e")
	      (:host "fa ke" :user "s p@m" :secret "d")
	      (:host "y.org" :user "s p@m" :secret "c")))
      :value nil :explanation
      (different-types nil
		       ((:host "x.com" :user "s p@m" :secret "b")
			(:host "x.com" :user "s p@m" :port "42" :secret
			       "a")
			(:host "fa ke" :user "s p@m" :secret "e")
			(:host "fa ke" :user "s p@m" :secret "d")
			(:host "y.org" :user "s p@m" :secret "c")))))
   FAILED  34/50  auth-source-pass-extra-query-keywords--suffixed-user (0.000252 sec) at lisp/auth-source-pass-tests.el:746
Test auth-source-pass-extra-query-keywords--user-priorities backtrace:
  signal(ert-test-failed (((should (equal results '((:host "h" :user "
  ert-fail(((should (equal results '((:host "h" :user "u" :port 2 :sec
  #f(compiled-function () #<bytecode 0x1a7d46adbe651f58>)()
  #f(compiled-function () #<bytecode 0x84afd65454f8ec7>)()
  handler-bind-1(#f(compiled-function () #<bytecode 0x84afd65454f8ec7>
  ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test
  ert-run-test(#s(ert-test :name auth-source-pass-extra-query-keywords
  ert-run-or-rerun-test(#s(ert--stats :selector ... :tests ... :test-m
  ert-run-tests((not (or (tag :unstable) (tag :nativecomp))) #f(compil
  ert-run-tests-batch((not (or (tag :unstable) (tag :nativecomp))))
  ert-run-tests-batch-and-exit((not (or (tag :unstable) (tag :nativeco
  eval((ert-run-tests-batch-and-exit '(not (or (tag :unstable) (tag :n
  command-line-1(("-L" ":." "-l" "ert" "--eval" "(setq treesit-extra-l
  command-line()
  normal-top-level()
Test auth-source-pass-extra-query-keywords--user-priorities condition:
    (ert-test-failed
     ((should (equal results '(... ... ... ...))) :form
      (equal nil
	     ((:host "h" :user "u" :port 2 :secret "@")
	      (:host "h" :user "u" :port 2 :secret "/")
	      (:host "g" :user "u" :port 2 :secret "@")
	      (:host "g" :user "u" :port 2 :secret "/")))
      :value nil :explanation
      (different-types nil
		       ((:host "h" :user "u" :port 2 :secret "@")
			(:host "h" :user "u" :port 2 :secret "/")
			(:host "g" :user "u" :port 2 :secret "@")
			(:host "g" :user "u" :port 2 :secret "/")))))
   FAILED  35/50  auth-source-pass-extra-query-keywords--user-priorities (0.000273 sec) at lisp/auth-source-pass-tests.el:777
Test auth-source-pass-extra-query-keywords--wild-port-hit backtrace:
  signal(ert-test-failed (((should (equal results '((:host "x.com" :se
  ert-fail(((should (equal results '((:host "x.com" :secret "a") (:hos
  #f(compiled-function () #<bytecode -0xf92c73a98c86423>)()
  #f(compiled-function () #<bytecode 0x84afd65454f8ec7>)()
  handler-bind-1(#f(compiled-function () #<bytecode 0x84afd65454f8ec7>
  ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test
  ert-run-test(#s(ert-test :name auth-source-pass-extra-query-keywords
  ert-run-or-rerun-test(#s(ert--stats :selector ... :tests ... :test-m
  ert-run-tests((not (or (tag :unstable) (tag :nativecomp))) #f(compil
  ert-run-tests-batch((not (or (tag :unstable) (tag :nativecomp))))
  ert-run-tests-batch-and-exit((not (or (tag :unstable) (tag :nativeco
  eval((ert-run-tests-batch-and-exit '(not (or (tag :unstable) (tag :n
  command-line-1(("-L" ":." "-l" "ert" "--eval" "(setq treesit-extra-l
  command-line()
  normal-top-level()
Test auth-source-pass-extra-query-keywords--wild-port-hit condition:
    (ert-test-failed
     ((should (equal results '(... ...))) :form
      (equal nil
	     ((:host "x.com" :secret "a")
	      (:host "x.com" :port 42 :secret "b")))
      :value nil :explanation
      (different-types nil
		       ((:host "x.com" :secret "a")
			(:host "x.com" :port 42 :secret "b")))))
   FAILED  36/50  auth-source-pass-extra-query-keywords--wild-port-hit (0.000264 sec) at lisp/auth-source-pass-tests.el:539
   passed  37/50  auth-source-pass-extra-query-keywords--wild-port-hit-netrc (0.000582 sec)
Test auth-source-pass-extra-query-keywords--wild-port-miss backtrace:
  signal(ert-test-failed (((should (equal results '((:host "x.com" :se
  ert-fail(((should (equal results '((:host "x.com" :secret "a")))) :f
  #f(compiled-function () #<bytecode -0xf92c73a98c86423>)()
  #f(compiled-function () #<bytecode 0x84afd65454f8ec7>)()
  handler-bind-1(#f(compiled-function () #<bytecode 0x84afd65454f8ec7>
  ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test
  ert-run-test(#s(ert-test :name auth-source-pass-extra-query-keywords
  ert-run-or-rerun-test(#s(ert--stats :selector ... :tests ... :test-m
  ert-run-tests((not (or (tag :unstable) (tag :nativecomp))) #f(compil
  ert-run-tests-batch((not (or (tag :unstable) (tag :nativecomp))))
  ert-run-tests-batch-and-exit((not (or (tag :unstable) (tag :nativeco
  eval((ert-run-tests-batch-and-exit '(not (or (tag :unstable) (tag :n
  command-line-1(("-L" ":." "-l" "ert" "--eval" "(setq treesit-extra-l
  command-line()
  normal-top-level()
Test auth-source-pass-extra-query-keywords--wild-port-miss condition:
    (ert-test-failed
     ((should (equal results '(...))) :form
      (equal nil ((:host "x.com" :secret "a"))) :value nil :explanation
      (different-types nil ((:host "x.com" :secret "a")))))
   FAILED  38/50  auth-source-pass-extra-query-keywords--wild-port-miss (0.000203 sec) at lisp/auth-source-pass-tests.el:513
   passed  39/50  auth-source-pass-extra-query-keywords--wild-port-miss-netrc (0.000588 sec)
   passed  40/50  auth-source-pass-extra-query-keywords--wild-port-req-miss (0.000201 sec)
   passed  41/50  auth-source-pass-extra-query-keywords--wild-port-req-miss-netrc (0.000256 sec)
   passed  42/50  auth-source-pass-find-match-minimal-parsing (0.000427 sec)
   passed  43/50  auth-source-pass-matching-entries-with-custom-separator (0.000095 sec)
   passed  44/50  auth-source-pass-not-found (0.000052 sec)
   passed  45/50  auth-source-pass-parse-simple (0.000047 sec)
   passed  46/50  auth-source-pass-parse-with-colons-in-data (0.000034 sec)
   passed  47/50  auth-source-pass-parse-with-dash-line (0.000033 sec)
   passed  48/50  auth-source-pass-parse-with-trailing-spaces (0.000031 sec)
   passed  49/50  auth-source-pass-prints-meaningful-debug-log (0.000192 sec)
   passed  50/50  auth-source-pass-undefined-host (0.000024 sec)

Ran 50 tests, 38 results as expected, 12 unexpected (2025-03-08 10:44:02+0100, 1.325117 sec)

12 unexpected results:
   FAILED  auth-source-pass-can-start-from-auth-source-search
   FAILED  auth-source-pass-extra-query-keywords--akib
   FAILED  auth-source-pass-extra-query-keywords--ambiguous-user-host
   FAILED  auth-source-pass-extra-query-keywords--baseline
   FAILED  auth-source-pass-extra-query-keywords--host
   FAILED  auth-source-pass-extra-query-keywords--hosts-first
   FAILED  auth-source-pass-extra-query-keywords--port-type
   FAILED  auth-source-pass-extra-query-keywords--req-param
   FAILED  auth-source-pass-extra-query-keywords--suffixed-user
   FAILED  auth-source-pass-extra-query-keywords--user-priorities
   FAILED  auth-source-pass-extra-query-keywords--wild-port-hit
   FAILED  auth-source-pass-extra-query-keywords--wild-port-miss

make[2]: *** [Makefile:185: lisp/auth-source-pass-tests.log] Error 1
make[2]: Leaving directory '/home/blc/.local/src/emacs/test'
make[1]: *** [Makefile:251: lisp/auth-source-pass-tests] Error 2
make[1]: Leaving directory '/home/blc/.local/src/emacs/test'
make: *** [Makefile:1137: test/auth-source-pass-tests] Error 2

Compilation exited abnormally with code 2 at Sat Mar  8 10:44:02, duration 2.54 s

--=-=-=--




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; 28 Feb 2025 12:23:49 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Feb 28 07:23:48 2025
Received: from localhost ([127.0.0.1]:46545 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tnzPA-0000Uw-1U
	for submit <at> debbugs.gnu.org; Fri, 28 Feb 2025 07:23:48 -0500
Received: from mail.reprendre.net ([2001:910:1410:501::1]:46770)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <damien@HIDDEN>) id 1tnzP6-0000UI-L0
 for 76323 <at> debbugs.gnu.org; Fri, 28 Feb 2025 07:23:46 -0500
Received: from [127.0.0.1] (localhost [127.0.0.1]) by localhost (Mailerdaemon)
 with ESMTPSA id BE15E2CAD92; Fri, 28 Feb 2025 13:23:38 +0100 (CET)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cassou.me; s=dkim;
 t=1740745421;
 h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
 in-reply-to:in-reply-to:references:references;
 bh=QNxRZAz6qBMVnJYrW9ySSASgps3GUcapVX2D97LS2Vg=;
 b=KMoi//fhCNCyVYVWPTR+S0r3JMYJ391mWFSG3b0tY9mTm4HCaEnpSYKqTdEHJMskIgXqvk
 yl664e1YAeM5OPNqpQvW95S0TliWbjuescpajKzSbw84vlRIhNQ+SBIbfUfeLoi5igJVgE
 IrEX138pKRRXfofYiNdRqtWPMcBu+za0AIBGQkiPwHWUvP/vuqsnH/otZnnfTATSjeptAH
 oT4U+5yrIhGcDNbWT9urGqtmpIzhdshk6XEVKxPWi+3FyGUCl43WgM9c/f78ow1M0rWLT+
 /byf2zcIq9xTfJx6PAzX5+TGC4fU9dLYW31ZQO2pAU2yVyj503OlQNlJnRWDHg==
From: Damien Cassou <damien@HIDDEN>
To: "Basil L. Contovounesios" <basil@HIDDEN>, 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: <87frkd7s6l.fsf@HIDDEN>
References: <m1msem4ft8.fsf@HIDDEN> <87frkel04h.fsf@HIDDEN>
 <m1tt8u9emq.fsf@HIDDEN> <87frkd7s6l.fsf@HIDDEN>
Date: Fri, 28 Feb 2025 13:23:36 +0100
Message-ID: <m0a5a645rr.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain
X-Last-TLS-Session-Version: TLSv1.3
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 76323
Cc: 76323 <at> debbugs.gnu.org, "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 (-)

"Basil L. Contovounesios" <basil@HIDDEN> writes:
> If there are no objections, I think this can be applied soon.

ok for me. Thank you.

-- 
Damien Cassou

"Success is the ability to go from one failure to another without
losing enthusiasm." --Winston Churchill




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; 19 Feb 2025 21:00:49 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Feb 19 16:00:49 2025
Received: from localhost ([127.0.0.1]:53013 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tkrBZ-0003Xm-1l
	for submit <at> debbugs.gnu.org; Wed, 19 Feb 2025 16:00:49 -0500
Received: from h5.fbrelay.privateemail.com ([162.0.218.228]:46483)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <basil@HIDDEN>)
 id 1tkrBW-0003Wo-J4
 for 76323 <at> debbugs.gnu.org; Wed, 19 Feb 2025 16:00:47 -0500
Received: from MTA-09-4.privateemail.com (mta-09.privateemail.com
 [198.54.127.58])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by h5.fbrelay.privateemail.com (Postfix) with ESMTPSA id 4Yyph645Npz31g7
 for <76323 <at> debbugs.gnu.org>; Wed, 19 Feb 2025 21:00:38 +0000 (UTC)
Received: from mta-09.privateemail.com (localhost [127.0.0.1])
 by mta-09.privateemail.com (Postfix) with ESMTP id 4Yyph16PGhz3hhVC;
 Wed, 19 Feb 2025 16:00:33 -0500 (EST)
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=contovou.net;
 s=default; t=1739998833;
 bh=PSsNqPQGoOqXAKz3jtgyE/PUgW6XU2D21W550qzWOIY=;
 h=From:To:Cc:Subject:In-Reply-To:References:Date:From;
 b=VMcWkqZ9F2DISzT5mp3Ollz2f/aGoRBuDOWySsU6KY1pC4gt1htSgjrcAsJi+3qTe
 4PRKENNC8M5Zxs9p/NchcGWxyZxUKZBzBYHU3BjUMS2M89Qo9AsvSC6rt+/t/AJhXN
 s2aopo+kS591fOlmlzpxc3QHoqrjTUj+rd9ezmEicNyZwqQpWDK34q8JQ4Augxi3ky
 s5ie2akJ3qWcuz4LnrVryAB51Sl1g8j7yV/qsME0nblKXgPcOyNRLEAHMoqhA3rbXL
 2kjfVlFg8tZDGK3LMD3KdkXqS5W9kq1KXdrtO5OIswmBRDVQji6CwUO40g/ir8eSq5
 eKvQXBemJAXTg==
Received: from localhost (unknown [31.46.242.24])
 by mta-09.privateemail.com (Postfix) with ESMTPA;
 Wed, 19 Feb 2025 16:00:32 -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: <m1tt8s42tf.fsf@HIDDEN>
References: <m1msem4ft8.fsf@HIDDEN> <87frkel04h.fsf@HIDDEN>
 <m1tt8u9emq.fsf@HIDDEN> <87frkd7s6l.fsf@HIDDEN>
 <m1tt8s42tf.fsf@HIDDEN>
Date: Wed, 19 Feb 2025 22:00:27 +0100
Message-ID: <87bjuxzm38.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-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 (-)

Naofumi Yasufuku [2025-02-18 07:35 +0900] wrote:
> "Basil L. Contovounesios" <basil@HIDDEN> writes:
>> Yasufuku-san, do you have a copyright assignment to the FSF?
>
> No, I haven=E2=80=99t 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 assignmen=
t process.
> Could you send the copyright assignment forms to me?

Sent off-list.
Thanks,
--=20
Basil




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#76323; Package emacs. Full text available.
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: Sat, 8 Mar 2025 10:00:02 UTC

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