1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-11-28 07:45:00 +00:00

(package--with-work-buffer-async): Protect macro arguments.

This commit is contained in:
Artur Malabarba 2015-04-04 20:44:59 +01:00
parent f674de6f08
commit b32bb3f2f6
2 changed files with 22 additions and 17 deletions

View File

@ -3,6 +3,7 @@
* emacs-lisp/package.el (package--download-and-read-archives): Add
`package-archives' to `package--downloads-in-progress' instead of
overwriting it.
(package--with-work-buffer-async): Protect macro arguments.
2015-04-04 Michael Albinus <michael.albinus@gmx.de>

View File

@ -1090,23 +1090,27 @@ function, call it with no arguments (instead of executing BODY),
otherwise propagate the error. For description of the other
arguments see `package--with-work-buffer'."
(declare (indent 3) (debug t))
`(if (or (not ,async)
(not (string-match-p "\\`https?:" ,location)))
(package--with-work-buffer ,location ,file ,@body)
(url-retrieve (concat ,location ,file)
(lambda (status)
(if (eq (car status) :error)
(if (functionp ,async)
(funcall ,async)
(signal (cdar status) (cddr status)))
(goto-char (point-min))
(unless (search-forward "\n\n" nil 'noerror)
(error "Invalid url response"))
(delete-region (point-min) (point))
,@body)
(kill-buffer (current-buffer)))
nil
'silent)))
(macroexp-let2* macroexp-copyable-p
((async-1 async)
(file-1 file)
(location-1 location))
`(if (or (not ,async-1)
(not (string-match-p "\\`https?:" ,location-1)))
(package--with-work-buffer ,location-1 ,file-1 ,@body)
(url-retrieve (concat ,location-1 ,file-1)
(lambda (status)
(if (eq (car status) :error)
(if (functionp ,async-1)
(funcall ,async-1)
(signal (cdar status) (cddr status)))
(goto-char (point-min))
(unless (search-forward "\n\n" nil 'noerror)
(error "Invalid url response"))
(delete-region (point-min) (point))
,@body)
(kill-buffer (current-buffer)))
nil
'silent))))
(defun package--check-signature-content (content string &optional sig-file)
"Check signature CONTENT against STRING.