emacs-bug-tracker
[Top][All Lists]
Advanced

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

[debbugs-tracker] bug#20584: closed (25.0.50; [PATCH] (list-packages) do


From: GNU bug Tracking System
Subject: [debbugs-tracker] bug#20584: closed (25.0.50; [PATCH] (list-packages) do not fail, if no user config file present)
Date: Fri, 15 May 2015 09:22:01 +0000

Your message dated Fri, 15 May 2015 10:21:39 +0100
with message-id <address@hidden>
and subject line Re: bug#20584: 25.0.50; [PATCH] (list-packages) do not fail, 
if no user config file present
has caused the debbugs.gnu.org bug report #20584,
regarding 25.0.50; [PATCH] (list-packages) do not fail, if no user config file 
present
to be marked as done.

(If you believe you have received this mail in error, please contact
address@hidden)


-- 
20584: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=20584
GNU Bug Tracking System
Contact address@hidden with problems
--- Begin Message --- Subject: 25.0.50; [PATCH] (list-packages) do not fail, if no user config file present Date: Fri, 15 May 2015 09:59:55 +0200
* lisp/emacs-lisp/package.el (package--ensure-init-file) Ensure
user-init-file exists.
---
 lisp/emacs-lisp/package.el | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/lisp/emacs-lisp/package.el b/lisp/emacs-lisp/package.el
index 6156313..55901f5 100644
--- a/lisp/emacs-lisp/package.el
+++ b/lisp/emacs-lisp/package.el
@@ -1810,9 +1810,10 @@ using `package-compute-transaction'."
                       (search-forward "(package-initialize)" nil 'noerror))))
               ;; Don't visit the file if we don't have to.
               (with-temp-buffer
-                (insert-file-contents user-init-file)
-                (goto-char (point-min))
-                (search-forward "(package-initialize)" nil 'noerror)))))
+                (when (file-exists-p user-init-file)
+                  (insert-file-contents user-init-file)
+                  (goto-char (point-min))
+                  (search-forward "(package-initialize)" nil 'noerror))))))
       (unless contains-init
         (with-current-buffer (or buffer
                                  (let ((delay-mode-hooks t))
-- 
Eduard Wiebe




--- End Message ---
--- Begin Message --- Subject: Re: bug#20584: 25.0.50; [PATCH] (list-packages) do not fail, if no user config file present Date: Fri, 15 May 2015 10:21:39 +0100
Thanks for catching this, Eduard.
I think I'd rather not create a possibly-unwanted init file, so I've
applied the following patch instead.

1 file changed, 7 insertions(+), 2 deletions(-)
 lisp/emacs-lisp/package.el | 9 +++++++--

modified   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


--- End Message ---

reply via email to

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