Commit b1c23fb9 authored by Artur Malabarba's avatar Artur Malabarba
Browse files

* lisp/emacs-lisp/package.el: Be more careful with the init file

(package--ensure-init-file): Check that user-init-file is set,
exists, is readable, and is writable.  (Bug#20584)
Also expand the docstring.
parent ca6a7774
...@@ -1796,9 +1796,14 @@ using `package-compute-transaction'." ...@@ -1796,9 +1796,14 @@ using `package-compute-transaction'."
(callback (funcall callback)))) (callback (funcall callback))))
(defun package--ensure-init-file () (defun package--ensure-init-file ()
"Ensure that the user's init file calls `package-initialize'." "Ensure that the user's init file has `package-initialize'.
`package-initialize' doesn't have to be called, as long as it is
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". ;; Don't mess with the init-file from "emacs -Q".
(when user-init-file (when (and (stringp user-init-file)
(file-readable-p user-init-file)
(file-writable-p user-init-file))
(let* ((buffer (find-buffer-visiting user-init-file)) (let* ((buffer (find-buffer-visiting user-init-file))
(contains-init (contains-init
(if buffer (if buffer
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment