GNU bug report logs - #935
23.0.60; gnus-mime-view-part-as-charset displays non-ASCII characters as octals

Previous Next

Package: emacs;

Reported by: Sven Joachim <svenjoac <at> gmx.de>

Date: Mon, 8 Sep 2008 21:00:02 UTC

Severity: normal

Done: Sven Joachim <svenjoac <at> gmx.de>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 935 in the body.
You can then email your comments to 935 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-submit-list <at> lists.donarmstrong.com, ding <at> gnus.org, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#935; Package emacs. Full text and rfc822 format available.

Acknowledgement sent to Sven Joachim <svenjoac <at> gmx.de>:
New bug report received and forwarded. Copy sent to ding <at> gnus.org, Emacs Bugs <bug-gnu-emacs <at> gnu.org>. Full text and rfc822 format available.

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

From: Sven Joachim <svenjoac <at> gmx.de>
To: emacs-pretest-bug <at> gnu.org
Subject: 23.0.60; gnus-mime-view-part-as-charset displays non-ASCII characters as octals
Date: Mon, 08 Sep 2008 22:54:18 +0200
I have a problem with the gnus-mime-view-part-as-charset command that
only shows up in Emacs 23, not sure whether this is a bug in Emacs or in
Gnus.

If an article has attachment with a wrongly specified charset, Gnus can
work around that with the gnus-mime-view-part-as-charset command.  For
instance, <news:20080908175652.GF4996 <at> firemoth> on
gmane.linux.debian.internationalization.german aka
debian-l10n-german <at> lists.debian.org is such an article, it has an
attachment that is incorrectly described as "Content-Type: text/x-diff;
charset=utf-8" while it's actually encoded as iso-latin-1.  Now when I
press C RET iso-latin-1, Emacs displays the German umlauts as octal
sequences.  In Emacs 22.3, they are displayed correctly (Gnus version is
the same, current No Gnus CVS).


In GNU Emacs 23.0.60.4 (i686-pc-linux-gnu, GTK+ Version 2.12.11)
 of 2008-09-08 on debian
Windowing system distributor `The X.Org Foundation', version 11.0.10402000
Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: C
  value of $LC_CTYPE: nil
  value of $LC_MESSAGES: nil
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: nil
  value of $LC_TIME: nil
  value of $LANG: de_DE.UTF-8
  value of $XMODIFIERS: nil
  locale-coding-system: utf-8-unix
  default-enable-multibyte-characters: t

Major mode: Summary

Minor modes in effect:
  diff-auto-refine-mode: t
  gnus-mailing-list-mode: t
  display-time-mode: t
  auto-image-file-mode: t
  show-paren-mode: t
  tooltip-mode: t
  mouse-wheel-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  global-auto-composition-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  temp-buffer-resize-mode: t
  column-number-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent input:
C-x r b . e m <tab> <return> <C-home> <down> <down> 
<down> <down> <down> <down> <down> <down> <down> <down> 
<down> <down> <down> <down> <down> <down> <down> <down> 
C-e C-x C-e M-x g n u s <return> <down> L <next> <down> 
<down> <down> <down> <down> <down> <down> <down> <down> 
<down> <down> <down> <down> <down> <down> <down> <down> 
<down> <down> <down> <down> <down> <down> <down> <down> 
<down> <down> <down> <down> <down> <down> <down> <down> 
<down> <down> <down> <down> <down> <down> <down> <down> 
<down> <down> <down> <down> <down> <down> <down> <up> 
<up> <up> <up> <up> <up> <up> <return> 2 <return> <down> 
SPC SPC C-x o <down> <down> <down> <down> <down> <down> 
<down> <down> <down> <down> <down> <down> <down> <down> 
<down> <down> <down> <down> <down> C i s o <tab> l 
<tab> 1 <return> C-h k C C-x o <tab> <return> <next> 
<prior> <up> <up> <up> <up> <up> <up> <up> <up> <up> 
<up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> 
<up> <up> <up> <up> <right> <right> <right> <right> 
<right> <right> <right> <right> <right> <right> <left> 
<left> <left> C-SPC M-f M-f M-f M-f M-f M-f M-w <next> 
q C-x 1 <f7> <down> <down> <down> <return> SPC <backspace> 
M-x r e p o r t - e m <tab> <return>

Recent messages:
Fetching headers for gmane.linux.debian.internationalization.german...done
Scoring...done
Generating summary...done
No more unread articles
Type C-x 4 o RET to restore the other window, C-M-v to scroll help.
mouse-2, RET: find function's definition
Note: file is write protected
Mark set
Buffer is read-only: #<buffer gnus-art.el>
Commands: d, s, x, u; f, o, 1, 2, m, v; ~, %; q to quit; ? for help.




Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#935; Package emacs. Full text and rfc822 format available.

Acknowledgement sent to Katsumi Yamaoka <yamaoka <at> jpl.org>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. Full text and rfc822 format available.

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

From: Katsumi Yamaoka <yamaoka <at> jpl.org>
To: Sven Joachim <svenjoac <at> gmx.de>
Cc: 935 <at> debbugs.gnu.org, emacs-pretest-bug <at> gnu.org, ding <at> gnus.org
Subject: Re: bug#935: 23.0.60; gnus-mime-view-part-as-charset displays non-ASCII characters as octals
Date: Tue, 09 Sep 2008 10:00:15 +0900
[Message part 1 (text/plain, inline)]
>>>>> Sven Joachim wrote:

> I have a problem with the gnus-mime-view-part-as-charset command that
> only shows up in Emacs 23, not sure whether this is a bug in Emacs or in
> Gnus.

> If an article has attachment with a wrongly specified charset, Gnus can
> work around that with the gnus-mime-view-part-as-charset command.  For
> instance, <news:20080908175652.GF4996 <at> firemoth> on
> gmane.linux.debian.internationalization.german aka
> debian-l10n-german <at> lists.debian.org is such an article, it has an
> attachment that is incorrectly described as "Content-Type: text/x-diff;
> charset=utf-8" while it's actually encoded as iso-latin-1.  Now when I
> press C RET iso-latin-1, Emacs displays the German umlauts as octal
> sequences.  In Emacs 22.3, they are displayed correctly (Gnus version is
> the same, current No Gnus CVS).

That's exactly a bug.  Even in Emacs 22.3, it is not displayed
correctly if attachment contains CJK characters with wrong charset.
The patch is below.  I'll commit this after testing it further.

[Message part 2 (text/x-diff, inline)]
--- gnus-art.el~	2008-08-11 22:24:20 +0000
+++ gnus-art.el	2008-09-09 00:56:42 +0000
@@ -5138,8 +5138,9 @@
 	   (mm-string-to-multibyte contents)))
 	(goto-char b)))))
 
-(defun gnus-mime-strip-charset-parameters (handle)
-  "Strip charset parameters from HANDLE."
+(defun gnus-mime-set-charset-parameters (handle)
+  "Set charset to parameters in HANDLE.
+The value of `gnus-newsgroup-charset' is used as a charset."
   (if (stringp (car handle))
       (mapc #'gnus-mime-strip-charset-parameters (cdr handle))
     (let* ((type (mm-handle-type (if (equal (mm-handle-media-type handle)
@@ -5150,8 +5151,10 @@
 				       (mm-handle-cache handle))
 				   handle)))
 	   (charset (assq 'charset (cdr type))))
-      (when charset
-	(delq charset type)))))
+      (if charset
+	  (setcdr charset gnus-newsgroup-charset)
+	(setcdr type (cons (cons 'charset gnus-newsgroup-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
@@ -5172,7 +5175,7 @@
 			       (mm-read-coding-system "Charset: "))))
 	      (if (mm-handle-undisplayer handle)
 		  (mm-remove-part handle)))
-	(gnus-mime-strip-charset-parameters handle)
+	(gnus-mime-set-charset-parameters handle)
 	(when (and (consp (setq form (cdr-safe fun)))
 		   (setq form (ignore-errors
 				(assq 'gnus-mime-display-alternative form)))

Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#935; Package emacs. Full text and rfc822 format available.

Acknowledgement sent to Katsumi Yamaoka <yamaoka <at> jpl.org>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. Full text and rfc822 format available.

Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#935; Package emacs. Full text and rfc822 format available.

Acknowledgement sent to Katsumi Yamaoka <yamaoka <at> jpl.org>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. Full text and rfc822 format available.

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

From: Katsumi Yamaoka <yamaoka <at> jpl.org>
To: Sven Joachim <svenjoac <at> gmx.de>
Cc: 935 <at> debbugs.gnu.org, emacs-pretest-bug <at> gnu.org, ding <at> gnus.org
Subject: Re: bug#935: 23.0.60; gnus-mime-view-part-as-charset displays non-ASCII characters as octals
Date: Tue, 09 Sep 2008 15:23:44 +0900
>>>>> Katsumi Yamaoka wrote:
> The patch is below.  I'll commit this after testing it further.

> --- gnus-art.el~	2008-08-11 22:24:20 +0000
> +++ gnus-art.el	2008-09-09 00:56:42 +0000

I've committed it in the Emacs trunk, with a slight modification.




Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#935; Package emacs. Full text and rfc822 format available.

Acknowledgement sent to Katsumi Yamaoka <yamaoka <at> jpl.org>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. Full text and rfc822 format available.

Information forwarded to bug-submit-list <at> lists.donarmstrong.com, emacs-pretest-bug <at> gnu.org, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#935; Package emacs. Full text and rfc822 format available.

Acknowledgement sent to Daiki Ueno <ueno <at> unixuser.org>:
Extra info received and forwarded to list. Copy sent to emacs-pretest-bug <at> gnu.org, Emacs Bugs <bug-gnu-emacs <at> gnu.org>. Full text and rfc822 format available.

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

From: Daiki Ueno <ueno <at> unixuser.org>
To: Katsumi Yamaoka <yamaoka <at> jpl.org>
Cc: 935 <at> debbugs.gnu.org, Sven Joachim <svenjoac <at> gmx.de>,
        ding <at> gnus.org
Subject: Re: bug#935: 23.0.60; gnus-mime-view-part-as-charset displays non-ASCII characters as octals
Date: Tue, 09 Sep 2008 20:46:03 +0900
>>>>> In <b4mr67unnfk.fsf__39297.7221440107$1220923731$gmane$org <at> jpl.org> 
>>>>>	Katsumi Yamaoka <yamaoka <at> jpl.org> wrote:
> -(defun gnus-mime-strip-charset-parameters (handle)
> -  "Strip charset parameters from HANDLE."
> +(defun gnus-mime-set-charset-parameters (handle)
> +  "Set charset to parameters in HANDLE.
> +The value of `gnus-newsgroup-charset' is used as a charset."
>    (if (stringp (car handle))
>        (mapc #'gnus-mime-strip-charset-parameters (cdr handle))

Should this line also be changed to call
gnus-mime-set-charset-parameters?

I would also like to suggest that gnus-mime-set-charset-parameters
accept CHARSET as its 2nd arg to avoid dependency to the global variable
gnus-newsgroup-charset.

Regards,
-- 
Daiki Ueno




Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#935; Package emacs. Full text and rfc822 format available.

Acknowledgement sent to Katsumi Yamaoka <yamaoka <at> jpl.org>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. Full text and rfc822 format available.

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

From: Katsumi Yamaoka <yamaoka <at> jpl.org>
To: Daiki Ueno <ueno <at> unixuser.org>
Cc: 935 <at> debbugs.gnu.org, Sven Joachim <svenjoac <at> gmx.de>,
        ding <at> gnus.org
Subject: Re: bug#935: 23.0.60; gnus-mime-view-part-as-charset displays non-ASCII characters as octals
Date: Wed, 10 Sep 2008 07:48:46 +0900
>>>>> Daiki Ueno wrote:
>> +(defun gnus-mime-set-charset-parameters (handle)
>> +  "Set charset to parameters in HANDLE.
>> +The value of `gnus-newsgroup-charset' is used as a charset."
>>    (if (stringp (car handle))
>>        (mapc #'gnus-mime-strip-charset-parameters (cdr handle))

> Should this line also be changed to call
> gnus-mime-set-charset-parameters?

Oops.  Thank you for pointing it out.

> I would also like to suggest that gnus-mime-set-charset-parameters
> accept CHARSET as its 2nd arg to avoid dependency to the global variable
> gnus-newsgroup-charset.

That's a good idea.  I also verified that to bind
`gnus-newsgroup-charset' is not necessary in the function
`gnus-mime-view-part-as-charset'.  Installed in the Emacs trunk.

Regards,




Reply sent to Sven Joachim <svenjoac <at> gmx.de>:
You have taken responsibility. Full text and rfc822 format available.

Notification sent to Sven Joachim <svenjoac <at> gmx.de>:
bug acknowledged by developer. Full text and rfc822 format available.

Message #40 received at 935-done <at> emacsbugs.donarmstrong.com (full text, mbox):

From: Sven Joachim <svenjoac <at> gmx.de>
To: Katsumi Yamaoka <yamaoka <at> jpl.org>
Cc: Daiki Ueno <ueno <at> unixuser.org>, 935-done <at> debbugs.gnu.org,
        ding <at> gnus.org
Subject: Re: bug#935: 23.0.60; gnus-mime-view-part-as-charset displays non-ASCII characters as octals
Date: Sun, 14 Sep 2008 18:48:06 +0200
Sorry for not following up earlier, I can confirm that the problem is
fixed, hence I'm closing the bug now.

Thank you,
          Sven




bug archived. Request was from Debbugs Internal Request <don <at> donarmstrong.com> to internal_control <at> emacsbugs.donarmstrong.com. (Mon, 13 Oct 2008 14:24:03 GMT) Full text and rfc822 format available.

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

Previous Next


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