Subject: Re: [Virtual PATCH] Add an option to wrap a patch in <pre> in git-imap-send which ironically results in a cleaner patch from Thunderbird.

From: Ben Bucksch <[email-masked]>
Date: Fri, 13 Feb 2009 15:47:12 +0100

>
> I do not think of a reason, why any sane user would
> want to send a patch as HTML.

The patch is not sent as HTML. It is merely passed to the mailer as HTML.
The "reason" is that HTML allows more information: It allows to separate 
human language text from preformatted text / source code.

Human language text follows other rules in some (I'll call them "more 
capable", to be just as advocating) mailers than others: text flow / 
wrapping, link and quote recognition etc.pp. all make sense for human 
language text / normal emails, but not for source code. Plain text is 
inherently limited in which information it can convey (no links, no 
quotes, no flow etc.pp.).

For more information, see the long email thread that preceeded. I don't 
feel like repeating it.

> This configuration variable sounds more
> like "imap.forceThunderbirdToSendNonFlowedTextByExploitingItsBug" than
> "imap.html", in other words.

I agree that "html" is not a good wording, given the immediate disgust 
that it invokes with many people in the community. (Which is partially 
warranted, and partially irrational.)

I'd propose a less inflammatory wording (and posts):
imap.preformatted
imap.thunderbird
(The first is better, because other mailers might have the same problem, 
now or in the future, and might benefit from the same workaround).

> What worries me the most is if there is any guarantee that this bug you
> are exploiting

FWIW, it's not a bug that he's exploiting.
mailto:[email-masked]?subject=""&html-body="" is a feature (not sure if 
documented).

> _will not be fixed_ in future versions of Thunderbird.

What you see is not a bug in Thunderbird.

> I see your patch deals only with ampersand, less-than, greater-than and
> dquot. Do you know if this is enough

Yes, this is enough to escape literals in HTML code.

> or would letters outside US-ASCII
> need to be expressed in ampersand-hash "character reference" notation?

If so, this this was a bug before and after the patch. What matters for 
non-ascii is the charset, and that's the same problem for plaintext and 
HTML. You'll just have to set the right charset header, and I think he 
does that.