emacs-lisp/package.el: Add package-initialize to user-init-file.
This commit is contained in:
parent
b47fe819f7
commit
fdc521952e
2 changed files with 32 additions and 0 deletions
|
@ -1,3 +1,9 @@
|
|||
2015-04-05 Artur Malabarba <bruce.connor.am@gmail.com>
|
||||
|
||||
* emacs-lisp/package.el: Add package-initialize to user-init-file.
|
||||
(package--ensure-init-file): New function.
|
||||
(package-install, package-install-from-buffer): Use it.
|
||||
|
||||
2015-04-05 Pete Williamson <petewil@chromium.org> (tiny-change)
|
||||
|
||||
Fix .emacs and .emacs.d/init file recursion problem for NaCl
|
||||
|
|
|
@ -1723,6 +1723,30 @@ PACKAGES are satisfied, i.e. that PACKAGES is computed
|
|||
using `package-compute-transaction'."
|
||||
(mapc #'package-install-from-archive packages))
|
||||
|
||||
(defun package--ensure-init-file ()
|
||||
"Ensure that the user's init file calls `package-initialize'."
|
||||
;; Don't mess with the init-file from "emacs -Q".
|
||||
(when user-init-file
|
||||
(let ((buffer (find-buffer-visiting user-init-file)))
|
||||
(with-current-buffer (or buffer (find-file-noselect user-init-file))
|
||||
(save-excursion
|
||||
(save-restriction
|
||||
(widen)
|
||||
(goto-char (point-min))
|
||||
(unless (search-forward "(package-initialize)" nil 'noerror)
|
||||
(goto-char (point-min))
|
||||
(insert
|
||||
";; Added by Package.el. This must come before configurations of\n"
|
||||
";; installed packages. Don't delete this line. If you don't want it,\n"
|
||||
";; just comment it out by adding a semicolon to the start of the line.\n"
|
||||
"(package-initialize)\n")
|
||||
(unless (looking-at-p "$")
|
||||
(insert "\n"))
|
||||
(let ((file-precious-flag t))
|
||||
(save-buffer)))
|
||||
(unless buffer
|
||||
(kill-buffer (current-buffer)))))))))
|
||||
|
||||
;;;###autoload
|
||||
(defun package-install (pkg &optional dont-select)
|
||||
"Install the package PKG.
|
||||
|
@ -1751,6 +1775,7 @@ to install it but still mark it as selected."
|
|||
package-archive-contents))
|
||||
nil t))
|
||||
nil)))
|
||||
(package--ensure-init-file)
|
||||
(let ((name (if (package-desc-p pkg)
|
||||
(package-desc-name pkg)
|
||||
pkg)))
|
||||
|
@ -1794,6 +1819,7 @@ is derived from the main .el file in the directory.
|
|||
|
||||
Downloads and installs required packages as needed."
|
||||
(interactive)
|
||||
(package--ensure-init-file)
|
||||
(let* ((pkg-desc
|
||||
(cond
|
||||
((derived-mode-p 'dired-mode)
|
||||
|
|
Loading…
Add table
Reference in a new issue