[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.