GNU bug report logs - #3648
Gnus doubles MIME tags

Previous Next

Package: emacs;

Reported by: Katsumi Yamaoka <yamaoka <at> jpl.org>

Date: Mon, 22 Jun 2009 12:20:05 UTC

Severity: normal

Done: Glenn Morris <rgm <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


Message #5 received at submit <at> emacsbugs.donarmstrong.com (full text, mbox):

From: Katsumi Yamaoka <yamaoka <at> jpl.org>
To: emacs-pretest-bug <at> gnu.org
Cc: ding <at> gnus.org
Subject: Gnus doubles MIME tags
Date: Mon, 22 Jun 2009 21:11:49 +0900
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  <yamaoka <at> jpl.org>

	* 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,



This bug report was last modified 16 years and 27 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.