Subject: bug#35507: Gnus mojibakifies UTF-8 text/x-patch attachments from Thunderbird

From: Andy Moreton <[email-masked]>
Date: Wed, 01 May 2019 17:42:18 +0100

On Wed 01 May 2019, Andy Moreton wrote:

> On Wed 01 May 2019, Robert Pluim wrote:
>
>>>>>>> On Wed, 01 May 2019 01:35:09 +0100, Andy Moreton <[email-masked]> said:
>>     Andy> After a bit of experimenting, this minimal patch appears to
>>     Andy> fix things.  Should this also allow the user to choose the
>>     Andy> charset if none is specified, or just hardwire it to utf-8 ?
>>
>> I think utf-8 is a good fallback if the message doesnʼt specify a
>> charset. Itʼs not going to produce any worse effects than what we have
>> now.
>
> Looking at this a bit more, the " *mm*" temp buffers produced when
> decoding the MIME parts all seems to have the right coding, so my
> previous patch looks wrong.
>
> The problem may be in `mm-display-inline-fontify' when it tries to
> choose a charset or coding system to display the MIME part inline.

This patch only affects display, so should be safer:

diff --git a/lisp/gnus/mm-view.el b/lisp/gnus/mm-view.el
index 1e1d264b99..173ebfab48 100644
--- a/lisp/gnus/mm-view.el
+++ b/lisp/gnus/mm-view.el
@@ -475,7 +475,7 @@ mm-display-inline-fontify
 		    (charset
 		     (mm-decode-string text charset))
 		    (t
-		     text)))
+		     (mm-decode-string text 'utf-8))))
       (let ((font-lock-verbose nil)     ; font-lock is a bit too verbose.
 	    (enable-local-variables nil))
         ;; We used to set font-lock-mode-hook to nil to avoid enabling