emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] master 0f73341: Decode the HTML source when displaying it


From: Eli Zaretskii
Subject: [Emacs-diffs] master 0f73341: Decode the HTML source when displaying it in EWW
Date: Fri, 23 Oct 2015 09:24:12 +0000

branch: master
commit 0f7334147d23ad2792523f59a968fb44c820fa35
Author: Eli Zaretskii <address@hidden>
Commit: Eli Zaretskii <address@hidden>

    Decode the HTML source when displaying it in EWW
    
    * lisp/net/eww.el (eww-view-source): Decode the HTML source
    according to its headers.
---
 lisp/net/eww.el |    9 +++++++++
 1 files changed, 9 insertions(+), 0 deletions(-)

diff --git a/lisp/net/eww.el b/lisp/net/eww.el
index bda4e0c..6a31549 100644
--- a/lisp/net/eww.el
+++ b/lisp/net/eww.el
@@ -564,6 +564,15 @@ Currently this means either text/html or 
application/xhtml+xml."
        (delete-region (point-min) (point-max))
        (insert (or source "no source"))
        (goto-char (point-min))
+        ;; Decode the source and set the buffer's encoding according
+        ;; to what the HTML source specifies in its 'charset' header,
+        ;; if any.
+        (let ((cs (find-auto-coding "" (point-max))))
+          (when (consp cs)
+            (setq cs (car cs))
+            (when (coding-system-p cs)
+              (decode-coding-region (point-min) (point-max) cs)
+              (setq buffer-file-coding-system last-coding-system-used))))
        (when (fboundp 'html-mode)
          (html-mode))))
     (view-buffer buf)))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]