diff options
Diffstat (limited to 'lisp/emacs-lisp')
-rw-r--r-- | lisp/emacs-lisp/package.el | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/lisp/emacs-lisp/package.el b/lisp/emacs-lisp/package.el index ae3a1b7b830..4593ae7d1b7 100644 --- a/lisp/emacs-lisp/package.el +++ b/lisp/emacs-lisp/package.el @@ -1783,9 +1783,14 @@ Once it's empty, run `package--post-download-archives-hook'." ARCHIVE should be a cons cell of the form (NAME . LOCATION), similar to an entry in `package-alist'. Save the cached copy to \"archives/NAME/FILE\" in `package-user-dir'." + ;; The downloaded archive contents will be read as part of + ;; `package--update-downloads-in-progress'. + (dolist (archive package-archives) + (cl-pushnew (cons archive file) package--downloads-in-progress + :test #'equal)) (package--with-response-buffer (cdr archive) :file file :async async - :error-form (package--update-downloads-in-progress archive) + :error-form (package--update-downloads-in-progress (cons archive file)) (let* ((location (cdr archive)) (name (car archive)) (content (buffer-string)) @@ -1798,10 +1803,10 @@ similar to an entry in `package-alist'. Save the cached copy to ;; If we don't care about the signature, save the file and ;; we're done. (progn - (cl-assert (not enable-multibyte-characters)) - (let ((coding-system-for-write 'binary)) - (write-region content nil local-file nil 'silent)) - (package--update-downloads-in-progress archive)) + (cl-assert (not enable-multibyte-characters)) + (let ((coding-system-for-write 'binary)) + (write-region content nil local-file nil 'silent)) + (package--update-downloads-in-progress (cons archive file))) ;; If we care, check it (perhaps async) and *then* write the file. (package--check-signature location file content async @@ -1822,11 +1827,6 @@ Populate `package-archive-contents' with the result. If optional argument ASYNC is non-nil, perform the downloads asynchronously." - ;; The downloaded archive contents will be read as part of - ;; `package--update-downloads-in-progress'. - (dolist (archive package-archives) - (cl-pushnew archive package--downloads-in-progress - :test #'equal)) (dolist (archive package-archives) (condition-case-unless-debug nil (package--download-one-archive archive "archive-contents" async) |