diff options
author | Lars Ingebrigtsen <larsi@gnus.org> | 2019-10-03 16:15:15 +0200 |
---|---|---|
committer | Lars Ingebrigtsen <larsi@gnus.org> | 2019-10-03 16:15:22 +0200 |
commit | cbe3f5f7203b54a7e0ffc65dee83289f1a966077 (patch) | |
tree | a50bcee6a981ebb6197a0a50a2f4e0d1723e7ec9 | |
parent | 0b5fe611e996a609866c3d84ee6c2d1e5dffd812 (diff) | |
download | emacs-cbe3f5f7203b54a7e0ffc65dee83289f1a966077.tar.gz emacs-cbe3f5f7203b54a7e0ffc65dee83289f1a966077.tar.bz2 emacs-cbe3f5f7203b54a7e0ffc65dee83289f1a966077.zip |
Touch up previous shr-dom-to-xml encoding change
* lisp/net/shr.el (shr-dom-to-xml): Include an XML declaration if
we're encoding the data.
(shr-parse-image-data): Add comment about why encoding is necessary.
-rw-r--r-- | lisp/net/shr.el | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/lisp/net/shr.el b/lisp/net/shr.el index cf32763a4f1..628cc17a5bd 100644 --- a/lisp/net/shr.el +++ b/lisp/net/shr.el @@ -1180,7 +1180,9 @@ Return a string with image data." (eq content-type 'image/svg+xml)) (setq data ;; Note that libxml2 doesn't parse everything perfectly, - ;; so glitches may occur during this transformation. + ;; so glitches may occur during this transformation. And + ;; encode as utf-8: There may be text (and other elements) + ;; that are non-ASCII. (shr-dom-to-xml (libxml-parse-xml-region (point) (point-max)) 'utf-8))) ;; SVG images often do not have a specified foreground/background @@ -1342,7 +1344,10 @@ ones, in case fg and bg are nil." (with-temp-buffer (shr-dom-print dom) (when charset - (encode-coding-region (point-min) (point-max) charset)) + (encode-coding-region (point-min) (point-max) charset) + (goto-char (point-min)) + (insert (format "<?xml version=\"1.0\" encoding=\"%s\"?>\n" + charset))) (buffer-string))) (defun shr-dom-print (dom) |