git-send-email: use compose-encoding for Subject
The commit "git-send-email: introduce compose-encoding" introduced the compose-encoding option to specify the introduction email encoding (--compose option), but the email Subject encoding was still hardcoded to UTF-8. Signed-off-by: Krzysztof Mazur <krzysiek@podlesie.net> Signed-off-by: Jeff King <peff@peff.net>
This commit is contained in:
parent
62e0069056
commit
4a47a4ddec
@ -636,15 +636,15 @@ EOT
|
||||
my $need_8bit_cte = file_has_nonascii($compose_filename);
|
||||
my $in_body = 0;
|
||||
my $summary_empty = 1;
|
||||
if (!defined $compose_encoding) {
|
||||
$compose_encoding = "UTF-8";
|
||||
}
|
||||
while(<$c>) {
|
||||
next if m/^GIT:/;
|
||||
if ($in_body) {
|
||||
$summary_empty = 0 unless (/^\n$/);
|
||||
} elsif (/^\n$/) {
|
||||
$in_body = 1;
|
||||
if (!defined $compose_encoding) {
|
||||
$compose_encoding = "UTF-8";
|
||||
}
|
||||
if ($need_8bit_cte) {
|
||||
print $c2 "MIME-Version: 1.0\n",
|
||||
"Content-Type: text/plain; ",
|
||||
@ -658,7 +658,7 @@ EOT
|
||||
my $subject = $initial_subject;
|
||||
$_ = "Subject: " .
|
||||
($subject =~ /[^[:ascii:]]/ ?
|
||||
quote_rfc2047($subject) :
|
||||
quote_rfc2047($subject, $compose_encoding) :
|
||||
$subject) .
|
||||
"\n";
|
||||
} elsif (/^In-Reply-To:\s*(.+)\s*$/i) {
|
||||
|
@ -909,6 +909,20 @@ test_expect_success $PREREQ '--compose-encoding overrides sendemail.composeencod
|
||||
grep "^Content-Type: text/plain; charset=iso-8859-2" msgtxt1
|
||||
'
|
||||
|
||||
test_expect_success $PREREQ '--compose-encoding adds correct MIME for subject' '
|
||||
clean_fake_sendmail &&
|
||||
GIT_EDITOR="\"$(pwd)/fake-editor\"" \
|
||||
git send-email \
|
||||
--compose-encoding iso-8859-2 \
|
||||
--compose --subject utf8-sübjëct \
|
||||
--from="Example <nobody@example.com>" \
|
||||
--to=nobody@example.com \
|
||||
--smtp-server="$(pwd)/fake.sendmail" \
|
||||
$patches &&
|
||||
grep "^fake edit" msgtxt1 &&
|
||||
grep "^Subject: =?iso-8859-2?q?utf8-s=C3=BCbj=C3=ABct?=" msgtxt1
|
||||
'
|
||||
|
||||
test_expect_success $PREREQ 'detects ambiguous reference/file conflict' '
|
||||
echo master > master &&
|
||||
git add master &&
|
||||
|
Loading…
Reference in New Issue
Block a user