unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#2017: 23.0.60; C-c in Rmail re-encodes quoted-printable parts
@ 2009-01-24 11:57 ` Eli Zaretskii
  2009-01-25 18:14   ` Richard M Stallman
  2009-02-07 15:35   ` bug#2017: marked as done (23.0.60; C-c in Rmail re-encodes quoted-printable parts) Emacs bug Tracking System
  0 siblings, 2 replies; 3+ messages in thread
From: Eli Zaretskii @ 2009-01-24 11:57 UTC (permalink / raw)
  To: emacs-pretest-bug


In an Rmail buffer that holds a multi-part message with at least one
of the parts encoded in quoted-printable:

 Type `e', then make a region around the body of the part that is
 encoded in quoted-printable, and type:

   M-: (mail-unquote-printable-region (mark) (point) nil nil t) RET

 The marked part is decoded as expected.  Now type `C-c', and watch
 the Context-Type header be quoted-printable (e.g., "charset=utf-8"
 becomes "charset=3Dutf-8").  Other `=' characters elsewhere in the
 body of the partial message also become encoded in quoted-printable.

There are 2 bugs here: (1) Rmail should not re-encode the text in any
way, and (2) it should never touch the headers.

If Emacs crashed, and you have the Emacs process in the gdb debugger,
please include the output from the following gdb commands:
    `bt full' and `xbacktrace'.
If you would like to further debug the crash, please read the file
d:/gnu/emacs/etc/DEBUG for instructions.


In GNU Emacs 23.0.60.1 (i386-mingw-nt5.1.2600)
 of 2009-01-24 on HOME-C4E4A596F7
Windowing system distributor `Microsoft Corp.', version 5.1.2600
configured using `configure --with-gcc (3.4)'

Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: nil
  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: ENU
  value of $XMODIFIERS: nil
  locale-coding-system: cp1255
  default-enable-multibyte-characters: t

Major mode: RMAIL

Minor modes in effect:
  tooltip-mode: t
  tool-bar-mode: t
  mouse-wheel-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  global-auto-composition-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent input:
<help-echo> <help-echo> <down-mouse-1> <help-echo> 
<drag-mouse-1> C-x 4 b <up> <M-right> <right> <M-right> 
- <tab> <return> <help-echo> <down-mouse-1> <help-echo> 
<mouse-movement> <drag-mouse-1> C-x o p <next> <prior> 
C-x C-s <up> <up> <up> <up> <up> <up> <up> <up> <up> 
<up> <up> <up> <up> <up> <next> <prior> <next> <next> 
<next> <next> <next> <next> <next> <next> <prior> <prior> 
<prior> <prior> <prior> <prior> <prior> <prior> e <up> 
<up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> 
<up> <up> <help-echo> C-SPC <down> <down> <down> <down> 
<down> <down> <down> <down> <down> <down> <down> <down> 
<down> <down> <down> <down> <down> <down> <down> <down> 
<down> <down> <down> M-: ( m a i l - u n q u o t e 
- p r i n t a b l e - r e g i o n SPC ( m a r k ) S-SPC 
( p o i n t ) S-SPC n i l SPC n i l SPC t ) <return> 
C-c C-c M-x r m a i l - r e d e <tab> c <tab> <tab> 
<C-left> <C-left> <delete> p C-e <tab> C-g <help-echo> 
<help-echo> <help-echo> C-x C-s p p n n M-: <up> C-g 
<down> <down> <down> <down> <down> <down> <down> <down> 
<down> <down> <down> <down> <down> <down> <down> <down> 
<down> C-x k <return> C-u M-x <up> <up> <up> <return> 
<up> <up> <up> <return> M-x <up> <up> <up> <return> 
C-x o <help-echo> <down-mouse-1> <help-echo> <drag-mouse-1> 
<help-echo> <help-echo> p p n n n p p p n n n p <down> 
<down> <down> <down> <down> <down> <down> <down> <down> 
<down> <down> <down> <down> <down> <down> e C-SPC <next> 
<down> <down> <down> <down> <down> <down> <down> <down> 
<down> <down> <down> <up> <down> C-x C-x C-x C-x M-: 
( <up> <return> C-x C-x C-x C-x C-c C-c M-x <up> <up> 
<up> <up> <down> <return>

Recent messages:
Mark set
t
Quit
Wrote d:/usr/eli/data/mail.in
Quit
Counting messages...done
Computing summary lines...done
No following nondeleted message
Editing: Type C-c C-c to return to Rmail, C-c C-] to abort
Mark set
t






^ permalink raw reply	[flat|nested] 3+ messages in thread

* bug#2017: 23.0.60; C-c in Rmail re-encodes quoted-printable parts
  2009-01-24 11:57 ` bug#2017: 23.0.60; C-c in Rmail re-encodes quoted-printable parts Eli Zaretskii
@ 2009-01-25 18:14   ` Richard M Stallman
  2009-02-07 15:35   ` bug#2017: marked as done (23.0.60; C-c in Rmail re-encodes quoted-printable parts) Emacs bug Tracking System
  1 sibling, 0 replies; 3+ messages in thread
From: Richard M Stallman @ 2009-01-25 18:14 UTC (permalink / raw)
  To: Eli Zaretskii, 2017

    There are 2 bugs here: (1) Rmail should not re-encode the text in any
    way, and (2) it should never touch the headers.

The code in rmail-cease-edit is meant to re-encode the entire message
in cases where rmail-show-message decoded the entire message.  It should
not operate in the case you described.

      (setq character-coding (mail-fetch-field "content-transfer-encoding")

is supposed to get the encoding specified by the message header for
the entire message, and it ought not notice anything specified
in/for individual mime parts.

When this fails for you, what value does character-coding get?  If it
is non-nil, can you step thru mail-fetch-field and see how that
happened?

Is it that the header specifies this field
and the message also has mime parts?
If so, rmail-cease-edit needs to operate only on the "body"
and not on any mime parts.

In addition, rmail-cease-edit ought to check for editing done in
message headers, and install the edited headers into the message.
Ideally it should make a list of the headers initially shown
so that it can tell if the user deleted any headers and delete those
from the message.






^ permalink raw reply	[flat|nested] 3+ messages in thread

* bug#2017: marked as done (23.0.60; C-c in Rmail re-encodes  quoted-printable parts)
  2009-01-24 11:57 ` bug#2017: 23.0.60; C-c in Rmail re-encodes quoted-printable parts Eli Zaretskii
  2009-01-25 18:14   ` Richard M Stallman
@ 2009-02-07 15:35   ` Emacs bug Tracking System
  1 sibling, 0 replies; 3+ messages in thread
From: Emacs bug Tracking System @ 2009-02-07 15:35 UTC (permalink / raw)
  To: Eli Zaretskii

[-- Attachment #1: Type: text/plain, Size: 901 bytes --]


Your message dated Sat, 07 Feb 2009 17:25:31 +0200
with message-id <u7i42tgk4.fsf@gnu.org>
and subject line Re: bug#2017: 23.0.60; C-c in Rmail re-encodes quoted-printable parts
has caused the Emacs bug report #2017,
regarding 23.0.60; C-c in Rmail re-encodes quoted-printable parts
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@emacsbugs.donarmstrong.com
immediately.)


-- 
2017: http://emacsbugs.donarmstrong.com/cgi-bin/bugreport.cgi?bug=2017
Emacs Bug Tracking System
Contact owner@emacsbugs.donarmstrong.com with problems

[-- Attachment #2: Type: message/rfc822, Size: 5787 bytes --]

From: Eli Zaretskii <eliz@gnu.org>
To: emacs-pretest-bug@gnu.org
Subject: 23.0.60; C-c in Rmail re-encodes quoted-printable parts
Date: Sat, 24 Jan 2009 13:57:54 +0200
Message-ID: <uk58kuda5.fsf@gnu.org>


In an Rmail buffer that holds a multi-part message with at least one
of the parts encoded in quoted-printable:

 Type `e', then make a region around the body of the part that is
 encoded in quoted-printable, and type:

   M-: (mail-unquote-printable-region (mark) (point) nil nil t) RET

 The marked part is decoded as expected.  Now type `C-c', and watch
 the Context-Type header be quoted-printable (e.g., "charset=utf-8"
 becomes "charset=3Dutf-8").  Other `=' characters elsewhere in the
 body of the partial message also become encoded in quoted-printable.

There are 2 bugs here: (1) Rmail should not re-encode the text in any
way, and (2) it should never touch the headers.

If Emacs crashed, and you have the Emacs process in the gdb debugger,
please include the output from the following gdb commands:
    `bt full' and `xbacktrace'.
If you would like to further debug the crash, please read the file
d:/gnu/emacs/etc/DEBUG for instructions.


In GNU Emacs 23.0.60.1 (i386-mingw-nt5.1.2600)
 of 2009-01-24 on HOME-C4E4A596F7
Windowing system distributor `Microsoft Corp.', version 5.1.2600
configured using `configure --with-gcc (3.4)'

Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: nil
  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: ENU
  value of $XMODIFIERS: nil
  locale-coding-system: cp1255
  default-enable-multibyte-characters: t

Major mode: RMAIL

Minor modes in effect:
  tooltip-mode: t
  tool-bar-mode: t
  mouse-wheel-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  global-auto-composition-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent input:
<help-echo> <help-echo> <down-mouse-1> <help-echo> 
<drag-mouse-1> C-x 4 b <up> <M-right> <right> <M-right> 
- <tab> <return> <help-echo> <down-mouse-1> <help-echo> 
<mouse-movement> <drag-mouse-1> C-x o p <next> <prior> 
C-x C-s <up> <up> <up> <up> <up> <up> <up> <up> <up> 
<up> <up> <up> <up> <up> <next> <prior> <next> <next> 
<next> <next> <next> <next> <next> <next> <prior> <prior> 
<prior> <prior> <prior> <prior> <prior> <prior> e <up> 
<up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> 
<up> <up> <help-echo> C-SPC <down> <down> <down> <down> 
<down> <down> <down> <down> <down> <down> <down> <down> 
<down> <down> <down> <down> <down> <down> <down> <down> 
<down> <down> <down> M-: ( m a i l - u n q u o t e 
- p r i n t a b l e - r e g i o n SPC ( m a r k ) S-SPC 
( p o i n t ) S-SPC n i l SPC n i l SPC t ) <return> 
C-c C-c M-x r m a i l - r e d e <tab> c <tab> <tab> 
<C-left> <C-left> <delete> p C-e <tab> C-g <help-echo> 
<help-echo> <help-echo> C-x C-s p p n n M-: <up> C-g 
<down> <down> <down> <down> <down> <down> <down> <down> 
<down> <down> <down> <down> <down> <down> <down> <down> 
<down> C-x k <return> C-u M-x <up> <up> <up> <return> 
<up> <up> <up> <return> M-x <up> <up> <up> <return> 
C-x o <help-echo> <down-mouse-1> <help-echo> <drag-mouse-1> 
<help-echo> <help-echo> p p n n n p p p n n n p <down> 
<down> <down> <down> <down> <down> <down> <down> <down> 
<down> <down> <down> <down> <down> <down> e C-SPC <next> 
<down> <down> <down> <down> <down> <down> <down> <down> 
<down> <down> <down> <up> <down> C-x C-x C-x C-x M-: 
( <up> <return> C-x C-x C-x C-x C-c C-c M-x <up> <up> 
<up> <up> <down> <return>

Recent messages:
Mark set
t
Quit
Wrote d:/usr/eli/data/mail.in
Quit
Counting messages...done
Computing summary lines...done
No following nondeleted message
Editing: Type C-c C-c to return to Rmail, C-c C-] to abort
Mark set
t



[-- Attachment #3: Type: message/rfc822, Size: 3165 bytes --]

From: Eli Zaretskii <eliz@gnu.org>
To: rms@gnu.org
Cc: 2017-done@emacsbugs.donarmstrong.com
Subject: Re: bug#2017: 23.0.60; C-c in Rmail re-encodes quoted-printable parts
Date: Sat, 07 Feb 2009 17:25:31 +0200
Message-ID: <u7i42tgk4.fsf@gnu.org>

> From: Richard M Stallman <rms@gnu.org>
> Date: Sun, 25 Jan 2009 13:14:38 -0500
> 
>       (setq character-coding (mail-fetch-field "content-transfer-encoding")
> 
> is supposed to get the encoding specified by the message header for
> the entire message, and it ought not notice anything specified
> in/for individual mime parts.
> 
> When this fails for you, what value does character-coding get?  If it
> is non-nil, can you step thru mail-fetch-field and see how that
> happened?

The problem was that the Rmail buffer was narrowed to the entire
message, whereas mail-fetch-field is documented to assume that the
buffer is narrowed to just the headers.  (Similar problems were with
calls to rmail-is-text-p and rmail-get-coding-system.)  I fixed that
by narrowing to the headers' portion only.

> Is it that the header specifies this field
> and the message also has mime parts?
> If so, rmail-cease-edit needs to operate only on the "body"
> and not on any mime parts.

If the header specifies content-transfer-encoding, then Rmail will
decode the entire message body, including the MIME parts, by this
encoding.  So it is correct to re-apply that encoding in
rmail-cease-edit to the whole body.

> In addition, rmail-cease-edit ought to check for editing done in
> message headers, and install the edited headers into the message.
> Ideally it should make a list of the headers initially shown
> so that it can tell if the user deleted any headers and delete those
> from the message.

It looks like rmail-cease-edit does not support editing the headers at
all at this time.  But that is a separate problem; I will file a new
bug report for it.


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2009-02-07 15:35 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <u7i42tgk4.fsf@gnu.org>
2009-01-24 11:57 ` bug#2017: 23.0.60; C-c in Rmail re-encodes quoted-printable parts Eli Zaretskii
2009-01-25 18:14   ` Richard M Stallman
2009-02-07 15:35   ` bug#2017: marked as done (23.0.60; C-c in Rmail re-encodes quoted-printable parts) Emacs bug Tracking System

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).