diff options
author | Stefan Monnier <monnier@iro.umontreal.ca> | 2023-05-22 18:49:26 +0200 |
---|---|---|
committer | Robert Pluim <rpluim@gmail.com> | 2023-05-23 14:12:21 +0200 |
commit | 0abb79ca09a9d0118e2bae7a4d00cd8f8a537795 (patch) | |
tree | 29378d2f7c7d7d8fccc46e68ddec913f88927b22 /lisp/emacs-lisp | |
parent | 6f6071c52616cc30bc28083688a3ad8d70ce713e (diff) | |
download | emacs-0abb79ca09a9d0118e2bae7a4d00cd8f8a537795.tar.gz emacs-0abb79ca09a9d0118e2bae7a4d00cd8f8a537795.tar.bz2 emacs-0abb79ca09a9d0118e2bae7a4d00cd8f8a537795.zip |
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.
Diffstat (limited to 'lisp/emacs-lisp')
-rw-r--r-- | lisp/emacs-lisp/package.el | 7 |
1 files changed, 6 insertions, 1 deletions
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. |