1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2025-01-20 18:17:20 +00:00

Fix downloading updates for packages with non-ASCII descriptions

* lisp/emacs-lisp/package.el (package--download-one-archive):
Make sure archive contents are written using UTF-8 encoding.
(Bug#34909)
(list-packages): Set buffer's encoding to UTF-8.
This commit is contained in:
Eli Zaretskii 2019-03-19 13:16:50 +02:00
parent e9f2d1f9f6
commit 5ed05fbf62

View File

@ -1538,14 +1538,16 @@ similar to an entry in `package-alist'. Save the cached copy to
(member name package-unsigned-archives))
;; If we don't care about the signature, save the file and
;; we're done.
(progn (write-region content nil local-file nil 'silent)
(progn (let ((coding-system-for-write 'utf-8))
(write-region content nil local-file nil 'silent))
(package--update-downloads-in-progress archive))
;; If we care, check it (perhaps async) and *then* write the file.
(package--check-signature
location file content async
;; This function will be called after signature checking.
(lambda (&optional good-sigs)
(write-region content nil local-file nil 'silent)
(let ((coding-system-for-write 'utf-8))
(write-region content nil local-file nil 'silent))
;; Write out good signatures into archive-contents.signed file.
(when good-sigs
(write-region (mapconcat #'epg-signature-to-string good-sigs "\n")
@ -3425,6 +3427,9 @@ short description."
;; Generate the Package Menu.
(let ((buf (get-buffer-create "*Packages*")))
(with-current-buffer buf
;; Since some packages have their descriptions include non-ASCII
;; characters...
(setq buffer-file-coding-system 'utf-8)
(package-menu-mode)
;; Fetch the remote list of packages.