aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKatsumi Yamaoka <[email protected]>2008-09-09 06:23:40 +0000
committerKatsumi Yamaoka <[email protected]>2008-09-09 06:23:40 +0000
commit14ce5fc25c90198803c4b35ad03c8debf05aaed4 (patch)
tree73460717f12cf86665d7fd1320ea3e9e437812b4
parentda2cf48856067ac62ce4aae07cf9e88596201800 (diff)
* gnus-art.el (gnus-mime-strip-charset-parameters): Remove.
(gnus-mime-set-charset-parameters): New function. (gnus-mime-view-part-as-charset): Use it to correctly display part specifying wrong charset.
-rw-r--r--lisp/gnus/ChangeLog7
-rw-r--r--lisp/gnus/gnus-art.el13
2 files changed, 15 insertions, 5 deletions
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog
index 908c3bc33a..7fdda1bceb 100644
--- a/lisp/gnus/ChangeLog
+++ b/lisp/gnus/ChangeLog
@@ -1,3 +1,10 @@
+2008-09-09 Katsumi Yamaoka <[email protected]>
+
+ * gnus-art.el (gnus-mime-strip-charset-parameters): Remove.
+ (gnus-mime-set-charset-parameters): New function.
+ (gnus-mime-view-part-as-charset): Use it to correctly display part
+ specifying wrong charset.
+
2008-09-08 David Engster <[email protected]>
* nnmairix.el (nnmairix-create-server-and-default-group): Require match
diff --git a/lisp/gnus/gnus-art.el b/lisp/gnus/gnus-art.el
index a8ca34386f..1438842a01 100644
--- a/lisp/gnus/gnus-art.el
+++ b/lisp/gnus/gnus-art.el
@@ -5138,8 +5138,9 @@ Compressed files like .gz and .bz2 are decompressed."
(mm-string-to-multibyte contents)))
(goto-char b)))))
-(defun gnus-mime-strip-charset-parameters (handle)
- "Strip charset parameters from HANDLE."
+(defun gnus-mime-set-charset-parameters (handle)
+ "Set charset to parameters in HANDLE.
+The value of `gnus-newsgroup-charset' is used as a charset."
(if (stringp (car handle))
(mapc #'gnus-mime-strip-charset-parameters (cdr handle))
(let* ((type (mm-handle-type (if (equal (mm-handle-media-type handle)
@@ -5150,8 +5151,10 @@ Compressed files like .gz and .bz2 are decompressed."
(mm-handle-cache handle))
handle)))
(charset (assq 'charset (cdr type))))
- (when charset
- (delq charset type)))))
+ (if charset
+ (setcdr charset (symbol-name gnus-newsgroup-charset))
+ (setcdr type (cons (cons 'charset (symbol-name gnus-newsgroup-charset))
+ (cdr type)))))))
(defun gnus-mime-view-part-as-charset (&optional handle arg)
"Insert the MIME part under point into the current buffer using the
@@ -5172,7 +5175,7 @@ specified charset."
(mm-read-coding-system "Charset: "))))
(if (mm-handle-undisplayer handle)
(mm-remove-part handle)))
- (gnus-mime-strip-charset-parameters handle)
+ (gnus-mime-set-charset-parameters handle)
(when (and (consp (setq form (cdr-safe fun)))
(setq form (ignore-errors
(assq 'gnus-mime-display-alternative form)))