Package: emacs;
Reported by: Pierre Téchoueyres <pierre.techoueyres <at> free.fr>
Date: Tue, 9 Dec 2025 19:43:02 UTC
Severity: normal
Found in version 31.0.50
To reply to this bug, email your comments to 79978 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#79978; Package emacs.
(Tue, 09 Dec 2025 19:43:02 GMT) Full text and rfc822 format available.Pierre Téchoueyres <pierre.techoueyres <at> free.fr>:bug-gnu-emacs <at> gnu.org.
(Tue, 09 Dec 2025 19:43:02 GMT) Full text and rfc822 format available.Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
From: Pierre Téchoueyres <pierre.techoueyres <at> free.fr> To: bug-gnu-emacs <at> gnu.org Subject: 31.0.50; prepare-user-lisp functions always add directory to load-path Date: Tue, 09 Dec 2025 20:42:08 +0100
[Message part 1 (text/plain, inline)]
Hello Emacs maintainers, First thanks for your work. Yesterday I've stumbled on a annoying message at Emacs startup
[Message part 2 (text/x-org, inline)]
#+begin_quote error: Loading file /home/my-user/.emacs.d/user-lisp/.unused/sql-hacks.el failed to provide feature ‘sql-hacks’ To ensure normal operation, you should investigate and remove the cause of the error in your initialization file. Start Emacs with the ‘--debug-init’ option to view a complete error backtrace. #+end_quote
[Message part 3 (text/plain, inline)]
After some investigation I've found that the prepare-user-lisp function always add directories under user-lisp-directory to load-path. I think this should not be the case when the directory is in the user-lisp-ignored-directories variable. I think that the one line patch should do the work.
[Message part 4 (text/x-org, inline)]
#+begin_src diff
diff --git a/lisp/startup.el b/lisp/startup.el
index f1fb726d..37c608bb 100644
--- a/lisp/startup.el
+++ b/lisp/startup.el
@@ -1268,7 +1268,7 @@ prepare-user-lisp
(byte-recompile-file file force 0)
(when (native-comp-available-p)
(native-compile-async file)))))
- ((file-directory-p file)
+ ((and (file-directory-p file) (funcall pred file))
(add-to-list 'load-path (directory-file-name file))
(push file dirs))))
(unless just-activate
#+end_src
[Message part 5 (text/plain, inline)]
Thanks. In GNU Emacs 31.0.50 (build 1, x86_64-fc43-linux-gnu, GTK+ Version 3.24.51, cairo version 1.18.4) of 2025-12-09 built on killashandra.ballybran.fr Repository revision: 47073fa12d149200169c921a805bde1750ca635c Repository branch: master Windowing system distributor 'The X.Org Foundation', version 11.0.12401009 System Description: Fedora Linux 43 (KDE Plasma Desktop Edition) Configured using: 'configure --prefix=/usr/local --host=x86_64-fc43-linux-gnu --without-xwidgets --with-modules --with-mailutils --with-gconf --with-cairo --with-native-compilation host_alias=x86_64-fc43-linux-gnu' Configured features: ACL CAIRO DBUS FREETYPE GCONF GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG LCMS2 LIBOTF LIBSELINUX LIBSYSTEMD LIBXML2 M17N_FLT MODULES NATIVE_COMP NOTIFY INOTIFY PDUMPER PNG RSVG SECCOMP SOUND SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS TREE_SITTER WEBP X11 XDBE XIM XINERAMA XINPUT2 XPM XRANDR GTK3 ZLIB Important settings: value of $LC_COLLATE: C value of $LANG: fr_FR.UTF-8 value of $XMODIFIERS: @im=none locale-coding-system: utf-8-unix Major mode: mu4e:main Minor modes in effect: mu4e-search-minor-mode: t mu4e-update-minor-mode: t windmove-mode: t override-global-mode: t editorconfig-mode: t persistent-scratch-autosave-mode: t mu4e-context-minor-mode: t mu4e-modeline-mode: t global-so-long-mode: t global-display-fill-column-indicator-mode: t minions-mode: t global-minions-mode: t which-function-mode: t global-modeline-region-mode: t modeline-region-mode: t smartparens-global-mode: t global-company-mode: t company-mode: t save-place-mode: t global-auto-revert-mode: t display-time-mode: t delete-selection-mode: t tooltip-mode: t global-eldoc-mode: t eldoc-mode: t show-paren-mode: t electric-indent-mode: t mouse-wheel-mode: t tool-bar-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t minibuffer-nonselected-mode: t minibuffer-regexp-mode: t buffer-read-only: t size-indication-mode: t column-number-mode: t line-number-mode: t indent-tabs-mode: t transient-mark-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t overwrite-mode: overwrite-mode-binary Load-path shadows: /home/ptechoueyres/.emacs.d/elpa-31/ox-odt-9.7.25.646/ox-odt hides /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/ox-odt /home/ptechoueyres/.emacs.d/elpa-31/emacs-scratches/scratches hides /home/ptechoueyres/.emacs.d/elpa-31/scratches/scratches /home/ptechoueyres/.emacs.d/el-get-31/tempo-c-cpp/tempo-c-cpp hides /home/ptechoueyres/.emacs.d/user-lisp/tempo-c-cpp /home/ptechoueyres/.emacs.d/elpa-31/string-inflection-20251114.1041/string-inflection hides /home/ptechoueyres/.emacs.d/user-lisp/string-inflection /home/ptechoueyres/.emacs.d/el-get-31/spell-number/spell-number hides /home/ptechoueyres/.emacs.d/user-lisp/spell-number /home/ptechoueyres/.emacs.d/elpa-31/which-key-20240620.2145/which-key hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/which-key /home/ptechoueyres/.emacs.d/elpa-31/transient-20251203.1001/transient hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/transient /home/ptechoueyres/.emacs.d/elpa-31/editorconfig-20251206.733/editorconfig-tools hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/editorconfig-tools /home/ptechoueyres/.emacs.d/elpa-31/editorconfig-20251206.733/editorconfig-fnmatch hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/editorconfig-fnmatch /home/ptechoueyres/.emacs.d/elpa-31/editorconfig-20251206.733/editorconfig hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/editorconfig /home/ptechoueyres/.emacs.d/elpa-31/editorconfig-20251206.733/editorconfig-core-handle hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/editorconfig-core-handle /home/ptechoueyres/.emacs.d/elpa-31/editorconfig-20251206.733/editorconfig-core hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/editorconfig-core /home/ptechoueyres/.emacs.d/elpa-31/editorconfig-20251206.733/editorconfig-conf-mode hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/editorconfig-conf-mode /home/ptechoueyres/.emacs.d/elpa-31/ox-odt-9.7.25.646/ox-odt hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/ox-odt /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/ox-publish hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/ox-publish /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/ox-org hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/ox-org /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/ox-latex hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/ox-latex /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/ox-md hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/ox-md /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/ox-man hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/ox-man /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/ox-koma-letter hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/ox-koma-letter /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/ox-icalendar hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/ox-icalendar /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/ox-html hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/ox-html /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/ox-ascii hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/ox-ascii /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/ox-beamer hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/ox-beamer /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/org-timer hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/org-timer /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/org-table hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/org-table /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/org-protocol hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/org-protocol /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/org-tempo hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/org-tempo /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/org-src hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/org-src /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/org-refile hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/org-refile /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/org-plot hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/org-plot /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/org-persist hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/org-persist /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/org-mobile hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/org-mobile /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/org-mouse hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/org-mouse /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/org-num hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/org-num /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/org-lint hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/org-lint /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/org hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/org /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/org-pcomplete hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/org-pcomplete /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/org-macs hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/org-macs /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/org-loaddefs hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/org-loaddefs /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/org-inlinetask hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/org-inlinetask /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/org-indent hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/org-indent /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/org-list hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/org-list /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/org-id hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/org-id /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/org-habit hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/org-habit /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/org-goto hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/org-goto /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/org-keys hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/org-keys /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/org-feed hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/org-feed /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/org-datetree hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/org-datetree /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/org-fold-core hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/org-fold-core /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/org-fold hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/org-fold /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/org-footnote hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/org-footnote /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/org-ctags hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/org-ctags /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/org-element-ast hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/org-element-ast /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/org-faces hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/org-faces /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/org-entities hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/org-entities /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/org-agenda hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/org-agenda /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/org-duration hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/org-duration /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/org-cycle hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/org-cycle /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/org-clock hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/org-clock /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/org-colview hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/org-colview /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/org-capture hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/org-capture /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/org-attach-git hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/org-attach-git /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/org-attach hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/org-attach /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/org-archive hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/org-archive /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/org-crypt hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/org-crypt /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/org-compat hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/org-compat /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/ol-gnus hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/ol-gnus /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/ol-w3m hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/ol-w3m /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/ol-rmail hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/ol-rmail /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/ol-irc hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/ol-irc /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/ol-mhe hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/ol-mhe /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/ol-eww hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/ol-eww /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/ol-man hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/ol-man /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/ol-info hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/ol-info /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/ol-eshell hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/ol-eshell /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/ol-doi hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/ol-doi /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/ol-docview hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/ol-docview /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/ol-bibtex hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/ol-bibtex /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/ol-bbdb hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/ol-bbdb /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/oc-csl hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/oc-csl /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/oc-natbib hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/oc-natbib /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/oc-bibtex hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/oc-bibtex /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/oc-basic hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/oc-basic /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/ob-tangle hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/ob-tangle /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/oc-biblatex hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/oc-biblatex /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/ob-sqlite hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/ob-sqlite /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/ob-sed hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/ob-sed /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/ob-sql hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/ob-sql /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/ob-table hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/ob-table /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/ob-shell hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/ob-shell /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/ob-screen hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/ob-screen /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/ob-scheme hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/ob-scheme /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/ob-sass hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/ob-sass /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/ob-ruby hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/ob-ruby /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/ob-R hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/ob-R /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/ob-processing hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/ob-processing /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/ob-python hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/ob-python /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/ob-fortran hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/ob-fortran /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/ob-plantuml hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/ob-plantuml /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/ob-ref hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/ob-ref /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/ob-perl hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/ob-perl /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/ob-org hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/ob-org /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/ob-octave hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/ob-octave /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/ob-ocaml hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/ob-ocaml /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/ob-maxima hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/ob-maxima /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/ob-matlab hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/ob-matlab /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/ob-makefile hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/ob-makefile /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/ob-lua hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/ob-lua /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/ob-C hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/ob-C /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/ob-lisp hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/ob-lisp /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/ob-lilypond hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/ob-lilypond /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/ob-latex hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/ob-latex /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/ob-lob hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/ob-lob /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/ob-js hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/ob-js /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/ob-julia hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/ob-julia /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/ob-java hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/ob-java /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/ob-haskell hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/ob-haskell /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/ob-groovy hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/ob-groovy /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/ob-gnuplot hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/ob-gnuplot /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/ob-forth hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/ob-forth /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/ob-eshell hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/ob-eshell /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/ob-exp hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/ob-exp /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/ob hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/ob /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/ob-dot hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/ob-dot /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/ob-eval hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/ob-eval /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/ob-emacs-lisp hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/ob-emacs-lisp /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/ob-ditaa hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/ob-ditaa /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/ob-core hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/ob-core /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/ob-css hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/ob-css /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/ob-clojure hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/ob-clojure /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/ob-comint hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/ob-comint /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/ob-calc hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/ob-calc /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/ob-awk hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/ob-awk /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/org-element hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/org-element /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/ox-texinfo hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/ox-texinfo /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/ox hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/ox /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/oc hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/oc /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/ol hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/ol /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/org-macro hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/org-macro /home/ptechoueyres/.emacs.d/elpa-31/org-9.7.39/org-version hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/org/org-version /home/ptechoueyres/.emacs.d/elpa-31/timeout-20250911.2339/timeout hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/emacs-lisp/timeout /home/ptechoueyres/.emacs.d/elpa-31/faceup-20170925.1946/faceup hides /home/ptechoueyres/Travail/VCS/Emacs/emacs/emacs-31/lisp/emacs-lisp/faceup Features: (shadow sort face-remap mail-extr mu4e mu4e-dbus mu4e-org mu4e-notification mu4e-main smtpmail mu4e-view mu4e-mime-parts crm mu4e-headers mu4e-thread mu4e-actions mu4e-search mu4e-lists mu4e-bookmarks mu4e-mark mu4e-labels mu4e-compose mu4e-draft mu4e-folders mu4e-message flow-fill mu4e-contacts mu4e-update mu4e-vars mu4e-obsolete gnus-msg dabbrev emacsbug add-log windmove edmacro use-package-bind-key bind-key editorconfig editorconfig-core editorconfig-core-handle editorconfig-fnmatch hydra lv disp-table emacs-lock hideshow mule-util hl-todo yasnippet persistent-scratch gtd-theme vc-git diff-mode track-changes files-x vc-dispatcher org-alert alert log4e notifications gntp mu4e-theme mu4e-context mu4e-query-items mu4e-server mu4e-modeline mu4e-helpers mu4e-config mu4e-window home-theme mu4e-hacks mu4e-autoloads elfeed-theme elfeed-goodies-logging elfeed-goodies-new-entry-hooks mm-url elfeed-goodies-split-pane popwin elfeed-goodies-show-mode link-hint goto-addr avy elfeed-goodies-search-mode elfeed-goodies elfeed-show elfeed-search elfeed-csv elfeed elfeed-curl elfeed-log elfeed-db elfeed-lib url-queue xml-query so-long ffap ggtags etags fileloop xref project ewoc calendar-theme calendar-french display-fill-column-indicator powerline-pte-theme powerline-pte modus-themes minions company-emoji company-emoji-list generic-x which-func imenu modeline-region isearch+ isearch-prop smartparens-config smartparens-rst smartparens-markdown smartparens-org smartparens-text smartparens loadhist company-oddmuse company-keywords company-gtags company-dabbrev-code company-dabbrev company-files company-clang company-capf company-cmake company-semantic company-template company-bbdb company-ctags find-file company 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 gnus-group gnus-undo gnus-start gnus-dbus dbus gnus-cloud nnimap nnmail mail-source utf7 nnoo gnus-spec gnus-int gnus-range message sendmail yank-media rfc822 mml mml-sec epa epg rfc6068 epg-config mm-decode mm-bodies mm-encode mailabbrev gmm-utils mailheader gnus-win gnus nnheader gnus-util mail-utils range ol-docview doc-view ol-bbdb ol-w3m org-protocol org-mode-theme flycheck-grammalecte grammalecte flycheck ox-gfm ox-md ox-odt oc-csl citeproc citeproc-itemgetters parsebib citeproc-cite citeproc-biblatex citeproc-bibtex ol-bibtex parse-time citeproc-subbibs citeproc-sort citeproc-name citeproc-formatters citeproc-proc citeproc-disamb citeproc-itemdata citeproc-generic-elements citeproc-macro citeproc-choose citeproc-date citeproc-number rst citeproc-context citeproc-prange citeproc-style citeproc-locale citeproc-term citeproc-rt citeproc-lib citeproc-s let-alist queue bibtex iso8601 rng-loc rng-uri rng-parse rng-match rng-dt rng-util rng-pttrn nxml-parse nxml-ns nxml-enc xmltok nxml-util odt dom xml ox-latex ox-icalendar org-agenda ox-html table ox-ascii ox-publish ox org-attach org-element org-persist org-id org-refile org-element-ast inline org org-macro org-pcomplete org-list org-footnote org-faces org-entities time-date ob-emacs-lisp ob-shell shell pcomplete ob-gnuplot ob-dot ob-ditaa org-loaddefs thingatpt find-func cal-menu calendar cal-loaddefs avl-tree generator org-hacks config sql-hacks patch.rcs keys rect ibuffer ibuffer-loaddefs user-lisp-autoloads template jka-compr saveplace grep autorevert filenotify time delsel restclient-jq jq-mode ob-restclient restclient compat view noutline outline org-table ob ob-tangle ol org-src sh-script smie treesit executable ob-ref ob-lob ob-table ob-exp ob-comint ob-core org-cycle org-fold org-fold-core ob-eval org-keys oc org-compat org-version org-macs format-spec dired+ image-dired image-dired-tags image-dired-external image-dired-util image-mode exif image-file image-converter bookmark+ bookmark+-key easy-mmode kmacro advice derived hl-line bookmark+-1 bookmark+-bmu bookmark+-lit bookmark dired-x dired-aux el-get-theme el-get el-get-autoloading el-get-list-packages el-get-dependencies el-get-build el-get-status el-get-methods el-get-fossil el-get-svn el-get-pacman el-get-github-zip el-get-github-tar el-get-http-zip el-get-http-tar el-get-hg el-get-go el-get-git-svn el-get-fink el-get-emacswiki el-get-http el-get-notify el-get-emacsmirror el-get-github el-get-git url-http url-auth mail-parse rfc2231 rfc2047 rfc2045 mm-util ietf-drums mail-prsvr url-gw nsm puny el-get-elpa el-get-darcs el-get-cvs el-get-bzr el-get-brew el-get-builtin el-get-apt-get el-get-recipes el-get-byte-compile el-get-custom el-get-core autoload dired dired-loaddefs scratches ido f dash s powerline powerline-separators color powerline-themes cl-extra help-mode use-package-ensure use-package-core cus-edit pp cus-start cus-load wid-edit .user-lisp-autoloads loaddefs-gen lisp-mnt radix-tree comp-run comp-common rx warnings compile text-property-search comint ansi-osc ansi-color ring all-the-icons-gnus-autoloads all-the-icons-autoloads auctex-autoloads tex-site browse-kill-ring-autoloads buffer-move-autoloads company-ctags-autoloads company-emoji-autoloads company-autoloads debbugs-autoloads editorconfig-autoloads ef-themes-autoloads elfeed-goodies-autoloads elfeed-autoloads emacs-scratches-autoloads faceup-autoloads flycheck-grammalecte-autoloads flycheck-autoloads forge-autoloads closql-autoloads emacsql-autoloads ggtags-autoloads ghub-autoloads git-modes-autoloads git-timemachine-autoloads hl-todo-autoloads htmlize-autoloads hydra-autoloads inputrc-mode-autoloads link-hint-autoloads avy-autoloads lv-autoloads magit-autoloads pcase magit-section-autoloads llama-autoloads minions-autoloads ob-restclient-autoloads org-alert-autoloads alert-autoloads log4e-autoloads gntp-autoloads ox-gfm-autoloads ox-odt-autoloads citeproc-autoloads org-autoloads parsebib-autoloads password-generator-autoloads persistent-scratch-autoloads popwin-autoloads powerline-autoloads queue-autoloads rebox2-autoloads restclient-jq-autoloads jq-mode-autoloads restclient-autoloads rnc-mode-autoloads scratches-autoloads f-autoloads s-autoloads finder-inf smart-compile-autoloads smartparens-autoloads dash-autoloads standard-themes-autoloads modus-themes-autoloads string-inflection-autoloads sx-autoloads markdown-mode-autoloads timeout-autoloads transient-autoloads cond-let-autoloads treepy-autoloads which-key-autoloads info with-editor-autoloads yaml-autoloads yasnippet-autoloads package browse-url xdg url url-proxy url-privacy url-expand url-methods url-history url-cookie generate-lisp-file url-domsuf url-util mailcap url-handlers url-parse auth-source cl-seq eieio eieio-core cl-macs icons password-cache json subr-x map byte-opt gv bytecomp byte-compile url-vars cl-loaddefs cl-lib early-init rmc iso-transl tooltip cconv eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type elisp-mode mwheel term/x-win x-win term/common-win x-dnd touch-screen 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 dbusbind inotify lcms2 dynamic-setting system-font-setting font-render-setting cairo gtk x-toolkit xinput2 x multi-tty move-toolbar make-network-process tty-child-frames native-compile emacs) Memory information: ((conses 16 816197 136485) (symbols 48 50560 1) (strings 32 227794 9294) (string-bytes 1 7889983) (vectors 16 107672) (vector-slots 8 1165205 39289) (floats 8 979 184) (intervals 56 5704 2369) (buffers 1064 18))
bug-gnu-emacs <at> gnu.org:bug#79978; Package emacs.
(Wed, 10 Dec 2025 13:29:01 GMT) Full text and rfc822 format available.Message #8 received at 79978 <at> debbugs.gnu.org (full text, mbox):
From: Sean Whitton <spwhitton <at> spwhitton.name> To: 79978 <at> debbugs.gnu.org, Philip Kaludercic <philipk <at> posteo.net>, Pierre Téchoueyres <pierre.techoueyres <at> free.fr> Subject: Re: bug#79978: 31.0.50; prepare-user-lisp functions always add directory to load-path Date: Wed, 10 Dec 2025 13:28:33 +0000
Hello, On Tue 09 Dec 2025 at 08:42pm +01, Pierre Téchoueyres via "Bug reports for GNU Emacs, the Swiss army knife of text editors" wrote: > Hello Emacs maintainers, > First thanks for your work. > Yesterday I've stumbled on a annoying message at Emacs startup > > #+begin_quote > error: Loading file /home/my-user/.emacs.d/user-lisp/.unused/sql-hacks.el failed to provide feature ‘sql-hacks’ > > To ensure normal operation, you should investigate and remove the > cause of the error in your initialization file. Start Emacs with > the ‘--debug-init’ option to view a complete error backtrace. > #+end_quote > > > After some investigation I've found that the prepare-user-lisp function > always add directories under user-lisp-directory to load-path. > I think this should not be the case when the directory is in the > user-lisp-ignored-directories variable. > > I think that the one line patch should do the work. > > #+begin_src diff > diff --git a/lisp/startup.el b/lisp/startup.el > index f1fb726d..37c608bb 100644 > --- a/lisp/startup.el > +++ b/lisp/startup.el > @@ -1268,7 +1268,7 @@ prepare-user-lisp > (byte-recompile-file file force 0) > (when (native-comp-available-p) > (native-compile-async file))))) > - ((file-directory-p file) > + ((and (file-directory-p file) (funcall pred file)) > (add-to-list 'load-path (directory-file-name file)) > (push file dirs)))) > (unless just-activate > #+end_src Makes sense to me, but let's get Philip to confirm. -- Sean Whitton
bug-gnu-emacs <at> gnu.org:bug#79978; Package emacs.
(Wed, 10 Dec 2025 19:56:02 GMT) Full text and rfc822 format available.Message #11 received at 79978 <at> debbugs.gnu.org (full text, mbox):
From: Philip Kaludercic <philipk <at> posteo.net> To: Sean Whitton <spwhitton <at> spwhitton.name> Cc: Pierre Téchoueyres <pierre.techoueyres <at> free.fr>, 79978 <at> debbugs.gnu.org Subject: Re: bug#79978: 31.0.50; prepare-user-lisp functions always add directory to load-path Date: Wed, 10 Dec 2025 19:54:52 +0000
Sean Whitton <spwhitton <at> spwhitton.name> writes: > Hello, > > On Tue 09 Dec 2025 at 08:42pm +01, Pierre Téchoueyres via "Bug reports for GNU Emacs, the Swiss army knife of text editors" wrote: > >> Hello Emacs maintainers, >> First thanks for your work. >> Yesterday I've stumbled on a annoying message at Emacs startup >> >> #+begin_quote >> error: Loading file /home/my-user/.emacs.d/user-lisp/.unused/sql-hacks.el failed to provide feature ‘sql-hacks’ >> >> To ensure normal operation, you should investigate and remove the >> cause of the error in your initialization file. Start Emacs with >> the ‘--debug-init’ option to view a complete error backtrace. >> #+end_quote >> >> >> After some investigation I've found that the prepare-user-lisp function >> always add directories under user-lisp-directory to load-path. >> I think this should not be the case when the directory is in the >> user-lisp-ignored-directories variable. >> >> I think that the one line patch should do the work. >> >> #+begin_src diff >> diff --git a/lisp/startup.el b/lisp/startup.el >> index f1fb726d..37c608bb 100644 >> --- a/lisp/startup.el >> +++ b/lisp/startup.el >> @@ -1268,7 +1268,7 @@ prepare-user-lisp >> (byte-recompile-file file force 0) >> (when (native-comp-available-p) >> (native-compile-async file))))) >> - ((file-directory-p file) >> + ((and (file-directory-p file) (funcall pred file)) >> (add-to-list 'load-path (directory-file-name file)) >> (push file dirs)))) >> (unless just-activate >> #+end_src > > Makes sense to me, but let's get Philip to confirm. Hi, thanks for notifying me quickly! And yes, that sounds like it is the right diagnosis -- my mistake was assuming that `directory-files-recursively' would use PREDICATE to filter out files... We can probably make this slightly more efficient by pulling out the regular expression out of the `pred' closure and calling `string-match-p' directly instead of funcall'ing it. Pierre, can you do this? Otherwise I'll return to it in the coming days.. Long term I still think that a revamp of `directory-files-recursively' would be appropriated...
bug-gnu-emacs <at> gnu.org:bug#79978; Package emacs.
(Wed, 10 Dec 2025 21:55:02 GMT) Full text and rfc822 format available.Message #14 received at 79978 <at> debbugs.gnu.org (full text, mbox):
From: Pierre Téchoueyres <pierre.techoueyres <at> free.fr> To: Philip Kaludercic <philipk <at> posteo.net> Cc: 79978 <at> debbugs.gnu.org, Sean Whitton <spwhitton <at> spwhitton.name> Subject: Re: bug#79978: 31.0.50; prepare-user-lisp functions always add directory to load-path Date: Wed, 10 Dec 2025 22:54:09 +0100
[Message part 1 (text/plain, inline)]
Hello Philip, Le mercredi 10 déc. 2025 à 19:54, Philip Kaludercic <philipk <at> posteo.net> a écrit : > … > Hi, thanks for notifying me quickly! > > And yes, that sounds like it is the right diagnosis -- my mistake was > assuming that `directory-files-recursively' would use PREDICATE to > filter out files... You mean directories here didn't you ? > We can probably make this slightly more efficient by > pulling out the regular expression out of the `pred' closure and calling > `string-match-p' directly instead of funcall'ing it. Pierre, can you do > this? Otherwise I'll return to it in the coming days.. > Something like that ?
[Message part 2 (text/x-org, inline)]
#+begin_src diff
diff --git a/lisp/startup.el b/lisp/startup.el
index f1fb726d..41e08d4d 100644
--- a/lisp/startup.el
+++ b/lisp/startup.el
@@ -1251,11 +1251,11 @@ prepare-user-lisp
(unless autoload-file
(setq autoload-file (expand-file-name ".user-lisp-autoloads.el"
user-lisp-directory)))
- (let* ((pred
- (let ((ignored
- (concat "\\`" (regexp-opt user-lisp-ignored-directories) "\\'")))
- (lambda (dir)
- (not (string-match-p ignored (file-name-nondirectory dir))))))
+ (let* ((ignored
+ (concat "\\`" (regexp-opt user-lisp-ignored-directories) "\\'"))
+ (pred
+ (lambda (dir)
+ (not (string-match-p ignored (file-name-nondirectory dir)))))
(dir (expand-file-name user-lisp-directory))
(backup-inhibited t)
(dirs (list dir)))
@@ -1268,7 +1268,8 @@ prepare-user-lisp
(byte-recompile-file file force 0)
(when (native-comp-available-p)
(native-compile-async file)))))
- ((file-directory-p file)
+ ((and (file-directory-p file)
+ (not (string-match-p ignored (file-name-nondirectory file))))
(add-to-list 'load-path (directory-file-name file))
(push file dirs))))
(unless just-activate
#+end_src
[Message part 3 (text/plain, inline)]
> Long term I still think that a revamp of `directory-files-recursively' > would be appropriated... I doubt you could easily change its so long time behaviour of not filtering directories (even if I think it look like a bug).
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.