emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

emacs-29 0abb79ca09a 2/2: Avoid duplicates when adding package dirs to l


From: Robert Pluim
Subject: emacs-29 0abb79ca09a 2/2: Avoid duplicates when adding package dirs to load-path
Date: Tue, 23 May 2023 09:20:03 -0400 (EDT)

branch: emacs-29
commit 0abb79ca09a9d0118e2bae7a4d00cd8f8a537795
Author: Stefan Monnier <monnier@iro.umontreal.ca>
Commit: Robert Pluim <rpluim@gmail.com>

    Avoid duplicates when adding package dirs to load-path
    
    Do not merge to master, we're going to delete this code there.
    
    * lisp/emacs-lisp/package.el (package-activate-1): Check if the path
    we're about to add is already in 'load-path', since package autoload
    files have been updating 'load-path' for a decade.
---
 lisp/emacs-lisp/package.el | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/lisp/emacs-lisp/package.el b/lisp/emacs-lisp/package.el
index 0d90e4a4059..340ca9400fa 100644
--- a/lisp/emacs-lisp/package.el
+++ b/lisp/emacs-lisp/package.el
@@ -904,7 +904,12 @@ correspond to previously loaded files."
           (package--reload-previously-loaded pkg-desc))
         (with-demoted-errors "Error loading autoloads: %s"
           (load (package--autoloads-file-name pkg-desc) nil t))
-        (add-to-list 'load-path (directory-file-name pkg-dir)))
+        ;; FIXME: Since 2013 (commit 4fac34cee97a), the autoload files take
+        ;; care of changing the `load-path', so maybe it's time to
+        ;; remove this fallback code?
+        (unless (or (member (file-name-as-directory pkg-dir) load-path)
+                    (member (directory-file-name pkg-dir) load-path))
+          (add-to-list 'load-path pkg-dir)))
       ;; Add info node.
       (when (file-exists-p (expand-file-name "dir" pkg-dir))
         ;; FIXME: not the friendliest, but simple.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]