Gnus doubles MIME tags

Katsumi Yamaoka <[email protected]>
Newsgroups gmane.emacs.gnus.general,gmane.emacs.pretest.bugs
Organization Emacsen advocacy group
Message-ID <[email protected]>
Hi,

You might have ever seen a MIME tag in the Gnus article buffer
like this:

[2. 
 non-ascii-filename.pdf --- application/pdf; non-ascii-filename.pdf]...

Note that the tag is broken into two lines.

In such a case, typing the `E' command there to display
the attachment externally doubles the tag like:

[2. 
 non-ascii-filename.pdf --- application/pdf; non-ascii-filename.pdf]...
 non-ascii-filename.pdf --- application/pdf; non-ascii-filename.pdf]...

or

[2. 
[2. 
 non-ascii-filename.pdf --- application/pdf; non-ascii-filename.pdf]...

I found this is due to M$'s MIME encoder.  In the raw form,
the MIME header it made looks like this:

Content-Description:
 =?iso-8859-1?Q?non-ascii-filename.pdf?=

It's ugly but is not a bug.  Gnus decodes it including the first
newline and displays it in the MIME tag as is.  However, Gnus
works properly only with a MIME tag drawn in a single line.

The following patch solves it.  It uses `message-fetch-field'
that strips newlines instead of `mail-fetch-field'.

(I don't know how I commit it to the Emacs trunk and also
 the branches, so I post it here.)

2009-06-22  Katsumi Yamaoka  <[email protected]>

	* mm-decode.el (mm-dissect-buffer): Use message-fetch-field instead of
	mail-fetch-field to fetch Content-Description header in order to
	exclude newlines.

--- mm-decode.el~	2009-01-22 08:09:02 +0000
+++ mm-decode.el	2009-06-22 11:52:50 +0000
@@ -563,7 +563,7 @@
 		ctl (and ct (mail-header-parse-content-type ct))
 		cte (mail-fetch-field "content-transfer-encoding")
 		cd (mail-fetch-field "content-disposition")
-		description (mail-fetch-field "content-description")
+		description (message-fetch-field "content-description")
 		id (mail-fetch-field "content-id"))
 	  (unless from
 	    (setq from (mail-fetch-field "from")))

Regards,
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.