Browse Source

git-send-email: skip RFC2047 quoting for ASCII subjects

The git-send-email always use RFC2047 subject quoting for
files with "broken" encoding - non-ASCII files without
Content-Transfer-Encoding, even for ASCII subjects. This is
harmless but unnecessarily ugly for people reading the raw
headers. This patch skips rfc2047 quoting when the subject
does not need it.

Signed-off-by: Krzysztof Mazur <krzysiek@podlesie.net>
Signed-off-by: Jeff King <peff@peff.net>
maint
Krzysztof Mazur 12 years ago committed by Jeff King
parent
commit
5637d85732
  1. 3
      git-send-email.perl
  2. 17
      t/t9001-send-email.sh

3
git-send-email.perl

@ -1327,7 +1327,8 @@ foreach my $t (@files) { @@ -1327,7 +1327,8 @@ foreach my $t (@files) {
$body_encoding = $auto_8bit_encoding;
}

if ($broken_encoding{$t} && !is_rfc2047_quoted($subject)) {
if ($broken_encoding{$t} && !is_rfc2047_quoted($subject) &&
($subject =~ /[^[:ascii:]]/)) {
$subject = quote_rfc2047($subject, $auto_8bit_encoding);
}


17
t/t9001-send-email.sh

@ -1142,6 +1142,23 @@ Dieser deutsche Text enthält einen Umlaut! @@ -1142,6 +1142,23 @@ Dieser deutsche Text enthält einen Umlaut!
EOF
'

test_expect_success $PREREQ 'setup expect' '
cat >expected <<EOF
Subject: subject goes here
EOF
'

test_expect_success $PREREQ 'ASCII subject is not RFC2047 quoted' '
clean_fake_sendmail &&
echo bogus |
git send-email --from=author@example.com --to=nobody@example.com \
--smtp-server="$(pwd)/fake.sendmail" \
--8bit-encoding=UTF-8 \
email-using-8bit >stdout &&
grep "Subject" msgtxt1 >actual &&
test_cmp expected actual
'

test_expect_success $PREREQ 'setup expect' '
cat >content-type-decl <<EOF
MIME-Version: 1.0

Loading…
Cancel
Save