[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] master 2abfe21: * lisp/emacs-lisp/package.el: Don't ensure
From: |
Artur Malabarba |
Subject: |
[Emacs-diffs] master 2abfe21: * lisp/emacs-lisp/package.el: Don't ensure-init during startup |
Date: |
Fri, 15 May 2015 10:18:57 +0000 |
branch: master
commit 2abfe21de9241aea36f7221184886b6b39f7648b
Author: Artur Malabarba <address@hidden>
Commit: Artur Malabarba <address@hidden>
* lisp/emacs-lisp/package.el: Don't ensure-init during startup
(package--init-file-ensured): New variable.
(package-initialize, package--ensure-init-file): Use it.
---
lisp/emacs-lisp/package.el | 13 +++++++++++--
1 files changed, 11 insertions(+), 2 deletions(-)
diff --git a/lisp/emacs-lisp/package.el b/lisp/emacs-lisp/package.el
index 1d27bf7..55fa962 100644
--- a/lisp/emacs-lisp/package.el
+++ b/lisp/emacs-lisp/package.el
@@ -1346,6 +1346,9 @@ If successful, set `package-archive-contents'."
;; available on disk.
(defvar package--initialized nil)
+(defvar package--init-file-ensured nil
+ "Whether we know the init file has package-initialize.")
+
;;;###autoload
(defun package-initialize (&optional no-activate)
"Load Emacs Lisp packages, and activate them.
@@ -1355,7 +1358,11 @@ If `user-init-file' does not mention
`(package-initialize)', add
it to the file."
(interactive)
(setq package-alist nil)
- (package--ensure-init-file)
+ (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)
+ (package--ensure-init-file))
(package-load-all-descriptors)
(package-read-all-archive-contents)
(unless no-activate
@@ -1802,6 +1809,7 @@ present somewhere in the file, even as a comment. If it
is not,
add a call to it along with some explanatory comments."
;; Don't mess with the init-file from "emacs -Q".
(when (and (stringp user-init-file)
+ (not package--init-file-ensured)
(file-readable-p user-init-file)
(file-writable-p user-init-file))
(let* ((buffer (find-buffer-visiting user-init-file))
@@ -1841,7 +1849,8 @@ add a call to it along with some explanatory comments."
(let ((file-precious-flag t))
(save-buffer))
(unless buffer
- (kill-buffer (current-buffer))))))))))
+ (kill-buffer (current-buffer)))))))))
+ (setq package--init-file-ensured t))
;;;###autoload
(defun package-install (pkg &optional dont-select async callback)
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] master 2abfe21: * lisp/emacs-lisp/package.el: Don't ensure-init during startup,
Artur Malabarba <=