GNU bug report logs -
#935
23.0.60; gnus-mime-view-part-as-charset displays non-ASCII characters as octals
Previous Next
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.
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):
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):
[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):
>>>>> 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):
>>>>> 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):
>>>>> 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):
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.