Commit 07178229 authored by Katsumi Yamaoka's avatar Katsumi Yamaoka
Browse files

[Gnus] Allow overriding charset in some decoding functions

parent 52d6635f
2013-11-27 Katsumi Yamaoka <>
* gnus-art.el (article-de-quoted-unreadable)
(article-de-base64-unreadable, gnus-mime-copy-part)
* gnus-html.el (gnus-article-html)
* mm-view.el (mm-inline-text-html-render-with-w3)
* rfc2231.el (rfc2231-decode-encoded-string):
Allow overriding charset by mm-charset-override-alist.
* gnus-art.el (gnus-article-browse-html-parts):
Replace LWSPs with `&nbsp;'s in header.
......@@ -2665,7 +2665,7 @@ If READ-CHARSET, ask for a coding system."
(string-match "quoted-printable" type))))
(point) (point-max) (mm-charset-to-coding-system charset))))))
(point) (point-max) (mm-charset-to-coding-system charset nil t))))))
(defun article-de-base64-unreadable (&optional force read-charset)
"Translate a base64 article.
......@@ -2696,7 +2696,8 @@ If READ-CHARSET, ask for a coding system."
(narrow-to-region (point) (point-max))
(base64-decode-region (point-min) (point-max))
(point-min) (point-max) (mm-charset-to-coding-system charset)))))))
(point-min) (point-max)
(mm-charset-to-coding-system charset nil t)))))))
(require 'rfc1843))
......@@ -5247,7 +5248,8 @@ are decompressed."
(switch-to-buffer (generate-new-buffer filename))
(if (or coding-system
(and charset
(setq coding-system (mm-charset-to-coding-system charset))
(setq coding-system (mm-charset-to-coding-system
charset nil t))
(not (eq coding-system 'ascii))))
......@@ -143,7 +143,8 @@ CHARS is a regexp-like character alternative (e.g., \"[)$]\")."
(charset (mail-content-type-get (mm-handle-type handle)
(when (and charset
(setq charset (mm-charset-to-coding-system charset))
(setq charset (mm-charset-to-coding-system
charset nil t))
(not (eq charset 'ascii)))
(insert (prog1
(mm-decode-coding-string (buffer-string) charset)
......@@ -175,7 +175,7 @@
(match-end 2))))
(if (fboundp 'w3-coding-system-for-mime-charset)
(w3-coding-system-for-mime-charset bsubstr)
(mm-charset-to-coding-system bsubstr))))
(mm-charset-to-coding-system bsubstr nil t))))
(delete-region (point-min) (point-max))
(insert (mm-decode-string text charset))))
......@@ -343,9 +343,10 @@
(symbol-name mail-parse-charset)))
(unless (and charset
(setq cs (mm-charset-to-coding-system charset))
(not (eq cs 'ascii)))
(if (and charset
(setq cs (mm-charset-to-coding-system charset nil t))
(not (eq cs 'ascii)))
(setq charset (format "%s" (mm-coding-system-to-mime-charset cs)))
;; The default.
(setq charset "iso-8859-1"
cs 'iso-8859-1))
......@@ -215,7 +215,8 @@ These look like:
\"''This%20is%20%2A%2A%2Afun%2A%2A%2A\", or
\"This is ***fun***\"."
(string-match "\\`\\(?:\\([^']+\\)?'\\([^']+\\)?'\\)?\\(.+\\)" string)
(let ((coding-system (mm-charset-to-coding-system (match-string 1 string)))
(let ((coding-system (mm-charset-to-coding-system
(match-string 1 string) nil t))
;;(language (match-string 2 string))
(value (match-string 3 string)))
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment