Mercurial > emacs
changeset 98113:95e740c93248
* gnus-art.el (gnus-mime-set-charset-parameters): Add new argument
`charset'; fix name of function called recursively.
(gnus-mime-view-part-as-charset): Don't bind gnus-newsgroup-charset.
author | Katsumi Yamaoka <yamaoka@jpl.org> |
---|---|
date | Tue, 09 Sep 2008 22:48:45 +0000 |
parents | 97094e1516ad |
children | a5e4178becee |
files | lisp/gnus/ChangeLog lisp/gnus/gnus-art.el |
diffstat | 2 files changed, 20 insertions(+), 12 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/gnus/ChangeLog Tue Sep 09 18:16:48 2008 +0000 +++ b/lisp/gnus/ChangeLog Tue Sep 09 22:48:45 2008 +0000 @@ -1,3 +1,9 @@ +2008-09-09 Katsumi Yamaoka <yamaoka@jpl.org> + + * gnus-art.el (gnus-mime-set-charset-parameters): Add new argument + `charset'; fix name of function called recursively. + (gnus-mime-view-part-as-charset): Don't bind gnus-newsgroup-charset. + 2008-09-09 Katsumi Yamaoka <yamaoka@jpl.org> * gnus-art.el (gnus-mime-strip-charset-parameters): Remove.
--- a/lisp/gnus/gnus-art.el Tue Sep 09 18:16:48 2008 +0000 +++ b/lisp/gnus/gnus-art.el Tue Sep 09 22:48:45 2008 +0000 @@ -5138,11 +5138,14 @@ (mm-string-to-multibyte contents))) (goto-char b))))) -(defun gnus-mime-set-charset-parameters (handle) - "Set charset to parameters in HANDLE. -The value of `gnus-newsgroup-charset' is used as a charset." +(defun gnus-mime-set-charset-parameters (handle charset) + "Set CHARSET to parameters in HANDLE. +CHARSET may either be a string or a symbol." + (unless (stringp charset) + (setq charset (symbol-name charset))) (if (stringp (car handle)) - (mapc #'gnus-mime-strip-charset-parameters (cdr handle)) + (dolist (h (cdr handle)) + (gnus-mime-set-charset-parameters h charset)) (let* ((type (mm-handle-type (if (equal (mm-handle-media-type handle) "message/external-body") (progn @@ -5150,11 +5153,10 @@ (mm-extern-cache-contents handle)) (mm-handle-cache handle)) handle))) - (charset (assq 'charset (cdr type)))) - (if charset - (setcdr charset (symbol-name gnus-newsgroup-charset)) - (setcdr type (cons (cons 'charset (symbol-name gnus-newsgroup-charset)) - (cdr type))))))) + (param (assq 'charset (cdr type)))) + (if param + (setcdr param charset) + (setcdr type (cons (cons 'charset 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 @@ -5164,18 +5166,18 @@ (let ((handle (or handle (get-text-property (point) 'gnus-data))) (fun (get-text-property (point) 'gnus-callback)) (gnus-newsgroup-ignored-charsets 'gnus-all) - gnus-newsgroup-charset form preferred parts) + charset form preferred parts) (when handle (when (prog1 (and fun - (setq gnus-newsgroup-charset + (setq charset (or (cdr (assq arg gnus-summary-show-article-charset-alist)) (mm-read-coding-system "Charset: ")))) (if (mm-handle-undisplayer handle) (mm-remove-part handle))) - (gnus-mime-set-charset-parameters handle) + (gnus-mime-set-charset-parameters handle charset) (when (and (consp (setq form (cdr-safe fun))) (setq form (ignore-errors (assq 'gnus-mime-display-alternative form)))