emacs-lisp/package.el (package--check-signature): Fix download error handling
authorDaiki Ueno <ueno@gnu.org>
Wed, 8 Jan 2014 06:25:21 +0000 (15:25 +0900)
committerDaiki Ueno <ueno@gnu.org>
Wed, 8 Jan 2014 06:25:21 +0000 (15:25 +0900)
* emacs-lisp/package.el (url-recreate-url): Declare.
(url-http-target-url): Declare.
(package-handle-response): Include requested URL in the error
message.
(package--check-signature): Don't re-signal errors from
package--with-work-buffer.  Suggested by Stefan Monnier.

lisp/ChangeLog
lisp/emacs-lisp/package.el

index 1f8187d..9ff78a4 100644 (file)
@@ -1,3 +1,12 @@
+2014-01-08  Daiki Ueno  <ueno@gnu.org>
+
+       * emacs-lisp/package.el (url-recreate-url): Declare.
+       (url-http-target-url): Declare.
+       (package-handle-response): Include requested URL in the error
+       message.
+       (package--check-signature): Don't re-signal errors from
+       package--with-work-buffer.  Suggested by Stefan Monnier.
+
 2014-01-07  Bastien Guerry  <bzg@gnu.org>
 
        * minibuffer.el (completion--try-word-completion): When both a
index 15dba46..64a9eff 100644 (file)
@@ -210,6 +210,8 @@ If VERSION is nil, the package is not loaded (it is \"disabled\")."
 (declare-function lm-header "lisp-mnt" (header))
 (declare-function lm-commentary "lisp-mnt" (&optional file))
 (defvar url-http-end-of-headers)
+(declare-function url-recreate-url "url" (urlobj))
+(defvar url-http-target-url)
 
 (defcustom package-archives '(("gnu" . "http://elpa.gnu.org/packages/"))
   "An alist of archives from which to fetch.
@@ -789,7 +791,8 @@ It will move point to somewhere in the headers."
   (require 'url-http)
   (let ((response (url-http-parse-response)))
     (when (or (< response 200) (>= response 300))
-      (error "Error during download request:%s"
+      (error "Error downloading %s:%s"
+            (url-recreate-url url-http-target-url)
             (buffer-substring-no-properties (point) (line-end-position))))))
 
 (defun package--archive-file-exists-p (location file)
@@ -820,10 +823,8 @@ GnuPG keyring is located under \"gnupg\" in `package-user-dir'."
        (sig-file (concat file ".sig"))
        sig-content
        good-signatures)
-    (condition-case-unless-debug error
-       (setq sig-content (package--with-work-buffer location sig-file
-                           (buffer-string)))
-      (error "Failed to download %s: %S" sig-file (cdr error)))
+    (setq sig-content (package--with-work-buffer location sig-file
+                       (buffer-string)))
     (epg-context-set-home-directory context homedir)
     (epg-verify-string context sig-content (buffer-string))
     ;; The .sig file may contain multiple signatures.  Success if one