]> git.eshelyaron.com Git - emacs.git/commitdiff
Don't call package--ensure-init-file if initialized during startup
authorNoam Postavsky <npostavs@gmail.com>
Thu, 23 Feb 2017 02:12:41 +0000 (21:12 -0500)
committerNoam Postavsky <npostavs@gmail.com>
Sun, 26 Feb 2017 16:11:40 +0000 (11:11 -0500)
* lisp/emacs-lisp/package.el (package-initialize): Check
`after-init-time' rather than `load-file-name' to decide if
`package--ensure-init-file' should be called.  Depending on
`load-file-name' will fail if the user calls `pacakge-initialize' in
file which is loaded from the init file (Bug#24643, Bug#25819).

lisp/emacs-lisp/package.el

index 6728f1b80b1f90135a4735bb27c9edc8b69858b9..8d5fac96cfb95f3a85d1032a17550eb8f88d2cee 100644 (file)
@@ -1445,13 +1445,13 @@ individual packages after calling `package-initialize' -- this is
 taken care of by `package-initialize'."
   (interactive)
   (setq package-alist nil)
-  (if (equal user-init-file load-file-name)
-      ;; If `package-initialize' is being called as part of loading
-      ;; the init file, it's obvious we don't need to ensure-init.
-      (setq package--init-file-ensured t
-            ;; And likely we don't need to run it again after init.
-            package-enable-at-startup nil)
-    (package--ensure-init-file))
+  (if after-init-time
+      (package--ensure-init-file)
+    ;; If `package-initialize' is before we finished loading the init
+    ;; file, it's obvious we don't need to ensure-init.
+    (setq package--init-file-ensured t
+          ;; And likely we don't need to run it again after init.
+          package-enable-at-startup nil))
   (package-load-all-descriptors)
   (package-read-all-archive-contents)
   (unless no-activate