Package: emacs;
Reported by: Naofumi Yasufuku <naofumi <at> yasufuku.dev>
Date: Sun, 16 Feb 2025 05:31:02 UTC
Severity: minor
Found in version 30.0.93
To reply to this bug, email your comments to 76323 AT debbugs.gnu.org.
Toggle the display of automated, internal messages from the tracker.
View this report as an mbox folder, status mbox, maintainer mbox
bug-gnu-emacs <at> gnu.org
:bug#76323
; Package emacs
.
(Sun, 16 Feb 2025 05:31:02 GMT) Full text and rfc822 format available.Naofumi Yasufuku <naofumi <at> yasufuku.dev>
:bug-gnu-emacs <at> gnu.org
.
(Sun, 16 Feb 2025 05:31:02 GMT) Full text and rfc822 format available.Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
From: Naofumi Yasufuku <naofumi <at> yasufuku.dev> To: bug-gnu-emacs <at> gnu.org Subject: 30.0.93; auth-source-pass: Annoying error when ~/.password-store doesn't exist Date: Sun, 16 Feb 2025 14:30:27 +0900
[Message part 1 (text/plain, inline)]
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
[0001-auth-source-pass-Don-t-raise-error-if-.password-stor.patch (text/x-patch, attachment)]
[Message part 3 (text/plain, inline)]
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))
bug-gnu-emacs <at> gnu.org
:bug#76323
; Package emacs
.
(Sun, 16 Feb 2025 09:18:01 GMT) Full text and rfc822 format available.Message #8 received at 76323 <at> debbugs.gnu.org (full text, mbox):
From: "Basil L. Contovounesios" <basil <at> contovou.net> To: Naofumi Yasufuku <naofumi <at> yasufuku.dev> Cc: 76323 <at> debbugs.gnu.org Subject: Re: bug#76323: 30.0.93; auth-source-pass: Annoying error when ~/.password-store doesn't exist Date: Sun, 16 Feb 2025 10:17:18 +0100
[Message part 1 (text/plain, inline)]
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:
[file-missing.diff (text/x-diff, inline)]
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.
[Message part 3 (text/plain, inline)]
Thanks, -- Basil
bug-gnu-emacs <at> gnu.org
:bug#76323
; Package emacs
.
(Sun, 16 Feb 2025 13:58:01 GMT) Full text and rfc822 format available.Message #11 received at 76323 <at> debbugs.gnu.org (full text, mbox):
From: Naofumi Yasufuku <naofumi <at> yasufuku.dev> To: "Basil L. Contovounesios" <basil <at> contovou.net> Cc: 76323 <at> debbugs.gnu.org Subject: Re: bug#76323: 30.0.93; auth-source-pass: Annoying error when ~/.password-store doesn't exist Date: Sun, 16 Feb 2025 22:57:01 +0900
[Message part 1 (text/plain, inline)]
Hi, Basil, "Basil L. Contovounesios" <basil <at> contovou.net> 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 <at> host.example.com:443" "host.example.com:443/user" "user <at> host.example.com" "host.example.com/user" "host.example.com:443" "host.example.com" "user <at> example.com:443" "example.com:443/user" "user <at> example.com" "example.com/user" "example.com:443" "example.com" "user <at> com:443" "com:443/user" "user <at> 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 <at> 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: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 <at> 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 "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 <at> 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: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 <at> 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 "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 <at> 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 <at> 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
[0001-auth-source-pass-Don-t-raise-errors-if-.password-sto.patch (text/x-patch, attachment)]
bug-gnu-emacs <at> gnu.org
:bug#76323
; Package emacs
.
(Sun, 16 Feb 2025 16:48:02 GMT) Full text and rfc822 format available.Message #14 received at 76323 <at> debbugs.gnu.org (full text, mbox):
From: "Basil L. Contovounesios" <basil <at> contovou.net> To: Naofumi Yasufuku <naofumi <at> yasufuku.dev> Cc: 76323 <at> debbugs.gnu.org, Damien Cassou <damien <at> cassou.me>, "F. Jason Park" <jp <at> neverwas.me> Subject: Re: bug#76323: 30.0.93; auth-source-pass: Annoying error when ~/.password-store doesn't exist Date: Sun, 16 Feb 2025 17:47:14 +0100
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 <at> yasufuku.dev> > 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
bug-gnu-emacs <at> gnu.org
:bug#76323
; Package emacs
.
(Sun, 16 Feb 2025 19:36:02 GMT) Full text and rfc822 format available.Message #17 received at 76323 <at> debbugs.gnu.org (full text, mbox):
From: "J.P." <jp <at> neverwas.me> To: "Basil L. Contovounesios" <basil <at> contovou.net> Cc: 76323 <at> debbugs.gnu.org, Damien Cassou <damien <at> cassou.me>, Naofumi Yasufuku <naofumi <at> yasufuku.dev> Subject: Re: bug#76323: 30.0.93; auth-source-pass: Annoying error when ~/.password-store doesn't exist Date: Sun, 16 Feb 2025 11:35:02 -0800
"Basil L. Contovounesios" <basil <at> contovou.net> 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 <at> yasufuku.dev> >> 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,
bug-gnu-emacs <at> gnu.org
:bug#76323
; Package emacs
.
(Mon, 17 Feb 2025 22:37:02 GMT) Full text and rfc822 format available.Message #20 received at 76323 <at> debbugs.gnu.org (full text, mbox):
From: Naofumi Yasufuku <naofumi <at> yasufuku.dev> To: "Basil L. Contovounesios" <basil <at> contovou.net> Cc: 76323 <at> debbugs.gnu.org, Damien Cassou <damien <at> cassou.me>, "F. Jason Park" <jp <at> neverwas.me> Subject: Re: bug#76323: 30.0.93; auth-source-pass: Annoying error when ~/.password-store doesn't exist Date: Tue, 18 Feb 2025 07:35:40 +0900
Hi Basil and everyone, "Basil L. Contovounesios" <basil <at> contovou.net> 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
Stefan Kangas <stefankangas <at> gmail.com>
to control <at> debbugs.gnu.org
.
(Wed, 19 Feb 2025 02:10:05 GMT) Full text and rfc822 format available.bug-gnu-emacs <at> gnu.org
:bug#76323
; Package emacs
.
(Wed, 19 Feb 2025 21:01:04 GMT) Full text and rfc822 format available.Message #25 received at 76323 <at> debbugs.gnu.org (full text, mbox):
From: "Basil L. Contovounesios" <basil <at> contovou.net> To: Naofumi Yasufuku <naofumi <at> yasufuku.dev> Cc: 76323 <at> debbugs.gnu.org Subject: Re: bug#76323: 30.0.93; auth-source-pass: Annoying error when ~/.password-store doesn't exist Date: Wed, 19 Feb 2025 22:00:27 +0100
Naofumi Yasufuku [2025-02-18 07:35 +0900] wrote: > "Basil L. Contovounesios" <basil <at> contovou.net> writes: >> 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? Sent off-list. Thanks, -- Basil
bug-gnu-emacs <at> gnu.org
:bug#76323
; Package emacs
.
(Fri, 28 Feb 2025 12:24:03 GMT) Full text and rfc822 format available.Message #28 received at 76323 <at> debbugs.gnu.org (full text, mbox):
From: Damien Cassou <damien <at> cassou.me> To: "Basil L. Contovounesios" <basil <at> contovou.net>, Naofumi Yasufuku <naofumi <at> yasufuku.dev> Cc: 76323 <at> debbugs.gnu.org, "F. Jason Park" <jp <at> neverwas.me> Subject: Re: bug#76323: 30.0.93; auth-source-pass: Annoying error when ~/.password-store doesn't exist Date: Fri, 28 Feb 2025 13:23:36 +0100
"Basil L. Contovounesios" <basil <at> contovou.net> 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
bug-gnu-emacs <at> gnu.org
:bug#76323
; Package emacs
.
(Sat, 08 Mar 2025 09:50:02 GMT) Full text and rfc822 format available.Message #31 received at 76323 <at> debbugs.gnu.org (full text, mbox):
From: "Basil L. Contovounesios" <basil <at> contovou.net> To: Naofumi Yasufuku <naofumi <at> yasufuku.dev> Cc: Damien Cassou <damien <at> cassou.me>, 76323 <at> debbugs.gnu.org, "F. Jason Park" <jp <at> neverwas.me> Subject: Re: bug#76323: 30.0.93; auth-source-pass: Annoying error when ~/.password-store doesn't exist Date: Sat, 08 Mar 2025 10:48:58 +0100
[Message part 1 (text/plain, inline)]
Damien Cassou [2025-02-28 13:23 +0100] wrote: > "Basil L. Contovounesios" <basil <at> contovou.net> 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?
[tmp.diff (text/x-diff, inline)]
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'.
[Message part 3 (text/plain, inline)]
Yasufuku-san, would you like to provide an updated patch? Thanks, -- Basil
[auth-source-pass-tests.log (text/plain, attachment)]
bug-gnu-emacs <at> gnu.org
:bug#76323
; Package emacs
.
(Tue, 11 Mar 2025 13:12:02 GMT) Full text and rfc822 format available.Message #34 received at 76323 <at> debbugs.gnu.org (full text, mbox):
From: Damien Cassou <damien <at> cassou.me> To: "Basil L. Contovounesios" <basil <at> contovou.net>, Naofumi Yasufuku <naofumi <at> yasufuku.dev> Cc: 76323 <at> debbugs.gnu.org, "F. Jason Park" <jp <at> neverwas.me> Subject: Re: bug#76323: 30.0.93; auth-source-pass: Annoying error when ~/.password-store doesn't exist Date: Tue, 11 Mar 2025 14:11:30 +0100
"Basil L. Contovounesios" <basil <at> contovou.net> writes: > 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? I find it a bit annoying to create a directory on the file system for each test that executes, especially as I wrote the test suite in a way that the filesystem is never necessary :-). Another approach would be to temporarily bind `file-directory-p` to a function that always return a non-nil value but this is a bit too white-box testing for my taste. I suggest merging your fix as it is. Thank you for your work > 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'. > > Yasufuku-san, would you like to provide an updated patch? > > Thanks, > -- > Basil > > -*- 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 <at> 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 <at> m" :secret "b") > (:host "x.com" :user "s p <at> m" :port "42" :secret "a") > (:host "fa ke" :user "s p <at> m" :secret "e") > (:host "fa ke" :user "s p <at> m" :secret "d") > (:host "y.org" :user "s p <at> m" :secret "c"))) > :value nil :explanation > (different-types nil > ((:host "x.com" :user "s p <at> m" :secret "b") > (:host "x.com" :user "s p <at> m" :port "42" :secret > "a") > (:host "fa ke" :user "s p <at> m" :secret "e") > (:host "fa ke" :user "s p <at> m" :secret "d") > (:host "y.org" :user "s p <at> 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 -- Damien Cassou "Success is the ability to go from one failure to another without losing enthusiasm." --Winston Churchill
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.