emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] master b1c23fb: * lisp/emacs-lisp/package.el: Be more care


From: Artur Malabarba
Subject: [Emacs-diffs] master b1c23fb: * lisp/emacs-lisp/package.el: Be more careful with the init file
Date: Fri, 15 May 2015 09:19:30 +0000

branch: master
commit b1c23fb94072cca7f08ea5f50430916b9ea168e6
Author: Artur Malabarba <address@hidden>
Commit: Artur Malabarba <address@hidden>

    * 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.
---
 lisp/emacs-lisp/package.el |    9 +++++++--
 1 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/lisp/emacs-lisp/package.el b/lisp/emacs-lisp/package.el
index 6156313..1d27bf7 100644
--- a/lisp/emacs-lisp/package.el
+++ b/lisp/emacs-lisp/package.el
@@ -1796,9 +1796,14 @@ using `package-compute-transaction'."
    (callback (funcall callback))))
 
 (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".
-  (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))
            (contains-init
             (if buffer



reply via email to

[Prev in Thread] Current Thread [Next in Thread]