# HG changeset patch # User Katsumi Yamaoka # Date 1221000525 0 # Node ID 95e740c93248fc6040163c50801c311309651cb9 # Parent 97094e1516ad2a554870d3b740590ff1c35269e6 * 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. diff -r 97094e1516ad -r 95e740c93248 lisp/gnus/ChangeLog --- 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 + + * 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 * gnus-art.el (gnus-mime-strip-charset-parameters): Remove. diff -r 97094e1516ad -r 95e740c93248 lisp/gnus/gnus-art.el --- 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)))