* bug#935: 23.0.60; gnus-mime-view-part-as-charset displays non-ASCII characters as octals
@ 2008-09-08 20:54 Sven Joachim
0 siblings, 0 replies; 7+ messages in thread
From: Sven Joachim @ 2008-09-08 20:54 UTC (permalink / raw
To: emacs-pretest-bug
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@firemoth> on
gmane.linux.debian.internationalization.german aka
debian-l10n-german@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.
^ permalink raw reply [flat|nested] 7+ messages in thread
[parent not found: <877i9mmk91.fsf@gmx.de>]
* bug#935: 23.0.60; gnus-mime-view-part-as-charset displays non-ASCII characters as octals
[not found] <877i9mmk91.fsf@gmx.de>
@ 2008-09-09 1:00 ` Katsumi Yamaoka
2008-09-09 11:46 ` Daiki Ueno
[not found] ` <bc593ff6-9144-440d-b3c0-c827bcbcf9ef@broken.deisui.org>
2008-09-09 1:00 ` Katsumi Yamaoka
[not found] ` <b4mr67unnfk.fsf@jpl.org>
2 siblings, 2 replies; 7+ messages in thread
From: Katsumi Yamaoka @ 2008-09-09 1:00 UTC (permalink / raw
To: Sven Joachim; +Cc: emacs-pretest-bug, 935, ding
[-- Attachment #1: Type: text/plain, Size: 1027 bytes --]
>>>>> 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@firemoth> on
> gmane.linux.debian.internationalization.german aka
> debian-l10n-german@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.
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: Type: text/x-diff, Size: 1404 bytes --]
--- 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)))
^ permalink raw reply [flat|nested] 7+ messages in thread
* bug#935: 23.0.60; gnus-mime-view-part-as-charset displays non-ASCII characters as octals
2008-09-09 1:00 ` Katsumi Yamaoka
@ 2008-09-09 11:46 ` Daiki Ueno
[not found] ` <bc593ff6-9144-440d-b3c0-c827bcbcf9ef@broken.deisui.org>
1 sibling, 0 replies; 7+ messages in thread
From: Daiki Ueno @ 2008-09-09 11:46 UTC (permalink / raw
To: Katsumi Yamaoka; +Cc: 935, Sven Joachim, ding
>>>>> In <b4mr67unnfk.fsf__39297.7221440107$1220923731$gmane$org@jpl.org>
>>>>> Katsumi Yamaoka <yamaoka@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
^ permalink raw reply [flat|nested] 7+ messages in thread
[parent not found: <bc593ff6-9144-440d-b3c0-c827bcbcf9ef@broken.deisui.org>]
* bug#935: 23.0.60; gnus-mime-view-part-as-charset displays non-ASCII characters as octals
[not found] ` <bc593ff6-9144-440d-b3c0-c827bcbcf9ef@broken.deisui.org>
@ 2008-09-09 22:48 ` Katsumi Yamaoka
0 siblings, 0 replies; 7+ messages in thread
From: Katsumi Yamaoka @ 2008-09-09 22:48 UTC (permalink / raw
To: Daiki Ueno; +Cc: 935, Sven Joachim, ding
>>>>> 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,
^ permalink raw reply [flat|nested] 7+ messages in thread
* bug#935: 23.0.60; gnus-mime-view-part-as-charset displays non-ASCII characters as octals
[not found] <877i9mmk91.fsf@gmx.de>
2008-09-09 1:00 ` Katsumi Yamaoka
@ 2008-09-09 1:00 ` Katsumi Yamaoka
[not found] ` <b4mr67unnfk.fsf@jpl.org>
2 siblings, 0 replies; 7+ messages in thread
From: Katsumi Yamaoka @ 2008-09-09 1:00 UTC (permalink / raw
To: Sven Joachim; +Cc: emacs-pretest-bug, 935, ding
[-- Attachment #1: Type: text/plain, Size: 1027 bytes --]
>>>>> 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@firemoth> on
> gmane.linux.debian.internationalization.german aka
> debian-l10n-german@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.
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: Type: text/x-diff, Size: 1404 bytes --]
--- 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)))
^ permalink raw reply [flat|nested] 7+ messages in thread
[parent not found: <b4mr67unnfk.fsf@jpl.org>]
end of thread, other threads:[~2008-09-09 22:48 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-09-08 20:54 bug#935: 23.0.60; gnus-mime-view-part-as-charset displays non-ASCII characters as octals Sven Joachim
[not found] <877i9mmk91.fsf@gmx.de>
2008-09-09 1:00 ` Katsumi Yamaoka
2008-09-09 11:46 ` Daiki Ueno
[not found] ` <bc593ff6-9144-440d-b3c0-c827bcbcf9ef@broken.deisui.org>
2008-09-09 22:48 ` Katsumi Yamaoka
2008-09-09 1:00 ` Katsumi Yamaoka
[not found] ` <b4mr67unnfk.fsf@jpl.org>
2008-09-09 6:23 ` Katsumi Yamaoka
2008-09-09 6:23 ` Katsumi Yamaoka
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.