Re: [PATCH] git-send-email: skip RFC2047 quoting for ASCII subjects
- From
Jeff King <peff@peff.net>
- Date
- Oct 25, 2012, 09:01 UTC
- Message-ID
- <20121025090149.GC8390@sigill.intra.peff.net>
- In-Reply-To
- <20121024210826.GA23562@shrek.podlesie.net>
On Wed, Oct 24, 2012 at 11:08:26PM +0200, Krzysztof Mazur wrote:
Show 21 quoted lines
> ok, I'm sending a version that just adds quote_subject() without > changing any logic, so now we still have in first case: > > /[^[:ascii:]]/ > > and in the latter case: > > !is_rfc2047_quoted($subject) && /^[:ascii:]]/ > > > In the next patch I will just add matching for "=?" in > subject_needs_rfc2047_quoting() and we will have: > > /=?/ || /[^[:ascii:]]/ > > and in the latter case: > > !is_rfc2047_quoted($subject) && (/=\?/ || /^[:ascii:]]/) > > This will also add quoting for any rfc2047 quoted subject or any > other rfc2047-like subject, as you suggested.
Thanks, the two-patch series you outline makes a lot of sense to me.
Show 6 quoted lines
> Krzysiek > -- > From a70c5385f9b4da69a8ce00a1448f87f63bbd500d Mon Sep 17 00:00:00 2001 > From: Krzysztof Mazur <krzysiek@podlesie.net> > Date: Wed, 24 Oct 2012 22:46:00 +0200 > Subject: [PATCH] git-send-email: introduce quote_subject()
When sending a patch following some cover letter material, please cut out any non-essential headers and use the scissors symbol, like this:
-- >8 -- Subject: [PATCH] this subject overrides the whole email's subject
the regular body and diff go here...
That format is understood by "git am" and means I do not have to manually munge it, which saves a little work.
Show 9 quoted lines
> +sub quote_subject {
> + local $subject = shift;
> + my $encoding = shift || 'UTF-8';
> +
> + if (subject_needs_rfc2047_quoting($subject)) {
> + return quote_rfc2047($subject, $encoding);
> + }
> + return $subject;
> +}There is some funny whitespace here (space followed by tab).
Show 6 quoted lines
> - if ($broken_encoding{$t} && !is_rfc2047_quoted($subject) &&
> - ($subject =~ /[^[:ascii:]]/)) {
> - $subject = quote_rfc2047($subject, $auto_8bit_encoding);
> + if ($broken_encoding{$t} && !is_rfc2047_quoted($subject)) {
> + $subject = quote_subject($subject, $auto_8bit_encoding);
> }Hmm. What is this patch on top of? It looks like it is on top of your original patch, but when I tried it on top of that, it does not apply either, and the index lines in the patch do not mention a sha1 that I do not have.
Do you mind re-rolling a final 2-patch series with:
1. Your original patch and this one squashed together, with an
appropriate commit message.2. The second "quote when we see '=?'" patch.
Thanks.
-Peff