From: Jesper Harder <harder@ifa.au.dk>
Subject: Format=flowed & QP
Date: Thu, 03 Oct 2002 04:28:25 +0200 [thread overview]
Message-ID: <m3u1k4ntme.fsf@defun.localdomain> (raw)
[-- Attachment #1: Type: text/plain, Size: 1141 bytes --]
There's a bug when you enable format=flowed in QP-encoded messages.
With soft newlines this message:
------------------------------------------------------------
Subject: test
Gcc: nnml+archive:misc-mail
From: Jesper Harder <harder@ifa.au.dk>
--text follows this line--
1234567890 1234567890 123456789 01234567890 0123456789 ælsdkfj æa sdlfkj
α
------------------------------------------------------------
Gets encoded like this:
------------------------------------------------------------
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: quoted-printable
1234567890 1234567890 123456789 01234567890 0123456789
=C3=A6lsdkfj =C3=A6a= sdlfkj
=CE=B1
------------------------------------------------------------
Note the "a= ", which is malformed QP.
I think the problem is that `fill-flowed-encode' is applied *after*
QP-encoding (which I don't think is the right order).
Reversing that order seems to fix it¹. But maybe we shouldn't flow text
at all unless the CTE is 8bit or 7bit? (because QP supports soft
linebreaks without f=f).
¹
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: mml.el.diff --]
[-- Type: text/x-patch, Size: 1950 bytes --]
--- /home/harder/gnus/lisp/mml.el Wed Sep 4 03:55:14 2002
+++ mml.el Thu Oct 3 04:23:49 2002
@@ -431,26 +431,26 @@
;; ignore 0x1b, it is part of iso-2022-jp
(setq encoding (mm-body-7-or-8))))
(t
+ ;; Only perform format=flowed filling on text/plain
+ ;; parts where there either isn't a format parameter
+ ;; in the mml tag or it says "flowed" and there
+ ;; actually are hard newlines in the text.
+ (let (use-hard-newlines)
+ (when (and (string= type "text/plain")
+ (or (null (assq 'format cont))
+ (string= (cdr (assq 'format cont))
+ "flowed"))
+ (setq use-hard-newlines
+ (text-property-any
+ (point-min) (point-max) 'hard 't)))
+ (fill-flowed-encode)
+ ;; Indicate that `mml-insert-mime-headers' should
+ ;; insert a "; format=flowed" string unless the
+ ;; user has already specified it.
+ (setq flowed (null (assq 'format cont)))))
(setq charset (mm-encode-body charset))
(setq encoding (mm-body-encoding
charset (cdr (assq 'encoding cont))))))
- ;; Only perform format=flowed filling on text/plain
- ;; parts where there either isn't a format parameter
- ;; in the mml tag or it says "flowed" and there
- ;; actually are hard newlines in the text.
- (let (use-hard-newlines)
- (when (and (string= type "text/plain")
- (or (null (assq 'format cont))
- (string= (cdr (assq 'format cont))
- "flowed"))
- (setq use-hard-newlines
- (text-property-any
- (point-min) (point-max) 'hard 't)))
- (fill-flowed-encode)
- ;; Indicate that `mml-insert-mime-headers' should
- ;; insert a "; format=flowed" string unless the
- ;; user has already specified it.
- (setq flowed (null (assq 'format cont)))))
(setq coded (buffer-string)))
(mml-insert-mime-headers cont type charset encoding flowed)
(insert "\n")
next reply other threads:[~2002-10-03 2:28 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-10-03 2:28 Jesper Harder [this message]
2002-12-29 15:31 ` Lars Magne Ingebrigtsen
2002-12-29 20:51 ` Jesper Harder
2002-12-29 22:02 ` Lars Magne Ingebrigtsen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=m3u1k4ntme.fsf@defun.localdomain \
--to=harder@ifa.au.dk \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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 NNTP newsgroup(s).