X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=lisp%2Frfc2047.el;h=3344753952656e3891c4ae6b56e5c5aa68a92250;hb=3304290c446e3fd89151ebe599b3c0cea8522329;hp=6e7512c50f0b7f30cd7fba8d843d8a9407bee394;hpb=09868cf7efbfa51562d76580eafc9a7b6b0c8d72;p=elisp%2Fgnus.git- diff --git a/lisp/rfc2047.el b/lisp/rfc2047.el index 6e7512c..3344753 100644 --- a/lisp/rfc2047.el +++ b/lisp/rfc2047.el @@ -297,12 +297,14 @@ Should be called narrowed to the head of the message." (match-string 0) (delete-region (match-beginning 0) (match-end 0))))) (when (and (mm-multibyte-p) - mail-parse-charset) + mail-parse-charset + (not (eq mail-parse-charset 'gnus-decoded))) (mm-decode-coding-region b e mail-parse-charset)) (setq b (point))) (when (and (mm-multibyte-p) mail-parse-charset - (not (eq mail-parse-charset 'us-ascii))) + (not (eq mail-parse-charset 'us-ascii)) + (not (eq mail-parse-charset 'gnus-decoded))) (mm-decode-coding-region b (point-max) mail-parse-charset)))))) (defun rfc2047-decode-string (string) @@ -336,9 +338,16 @@ Valid ENCODINGs are \"B\" and \"Q\". If your Emacs implementation can't decode CHARSET, it returns nil." (if (stringp charset) (setq charset (intern (downcase charset)))) - (if (or (not charset) (memq charset mail-parse-ignored-charsets)) + (if (or (not charset) + (eq 'gnus-all mail-parse-ignored-charsets) + (memq 'gnus-all mail-parse-ignored-charsets) + (memq charset mail-parse-ignored-charsets)) (setq charset mail-parse-charset)) (let ((cs (mm-charset-to-coding-system charset))) + (if (and (not cs) charset + (listp mail-parse-ignored-charsets) + (memq 'gnus-unknown mail-parse-ignored-charsets)) + (setq cs (mm-charset-to-coding-system mail-parse-charset))) (when cs (when (and (eq cs 'ascii) mail-parse-charset)