* lisp/emacs-lisp/package.el: Fix a decoding issue
(package--with-response-buffer): Use `url-insert-buffer-contents'. The previous code had some issues with decoding. Refactoring that function allows us to use the decoding from url-handlers while still treating both sync and async requests the same. * lisp/url/url-handlers.el (url-insert-file-contents): Move some code to `url-insert-buffer-contents'. (url-insert-buffer-contents): New function
This commit is contained in:
parent
5f9153faaf
commit
7cc233e1e3
2 changed files with 32 additions and 26 deletions
|
@ -1165,16 +1165,16 @@ BODY (does not apply to errors signaled by ERROR-FORM).
|
|||
(when-let ((er (plist-get status :error)))
|
||||
(error "Error retrieving: %s %S" url er))
|
||||
(unless (search-forward-regexp "^\r?\n\r?" nil 'noerror)
|
||||
(rest-error 'rest-unintelligible-result))
|
||||
(delete-region (point-min) (point))
|
||||
,@body)
|
||||
(when (buffer-live-p b)
|
||||
(kill-buffer b)))))))
|
||||
(error "Error retrieving: %s %S" url "incomprehensible buffer"))
|
||||
(with-temp-buffer
|
||||
(url-insert-buffer-contents b url)
|
||||
(kill-buffer b)
|
||||
(goto-char (point-min))
|
||||
,@body)))))))
|
||||
(if ,async
|
||||
(wrap-errors (url-retrieve url callback nil 'silent))
|
||||
(let ((buffer (wrap-errors (url-retrieve-synchronously url 'silent))))
|
||||
(with-current-buffer buffer
|
||||
(funcall callback nil)))))
|
||||
(with-current-buffer (wrap-errors (url-retrieve-synchronously url 'silent))
|
||||
(funcall callback nil))))
|
||||
(wrap-errors (with-temp-buffer
|
||||
(let ((url (expand-file-name ,file ,url-1)))
|
||||
(unless (file-name-absolute-p url)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue