diff options
| -rwxr-xr-x | git-send-email.perl | 10 | ||||
| -rwxr-xr-x | t/t9001-send-email.sh | 13 | 
2 files changed, 19 insertions, 4 deletions
| diff --git a/git-send-email.perl b/git-send-email.perl index ef30c557c7..664713709c 100755 --- a/git-send-email.perl +++ b/git-send-email.perl @@ -862,11 +862,13 @@ $time = time - scalar $#files;  sub unquote_rfc2047 {  	local ($_) = @_;  	my $encoding; -	if (s/=\?([^?]+)\?q\?(.*)\?=/$2/g) { +	s{=\?([^?]+)\?q\?(.*?)\?=}{  		$encoding = $1; -		s/_/ /g; -		s/=([0-9A-F]{2})/chr(hex($1))/eg; -	} +		my $e = $2; +		$e =~ s/_/ /g; +		$e =~ s/=([0-9A-F]{2})/chr(hex($1))/eg; +		$e; +	}eg;  	return wantarray ? ($_, $encoding) : $_;  } diff --git a/t/t9001-send-email.sh b/t/t9001-send-email.sh index 8c12c65c72..035122808b 100755 --- a/t/t9001-send-email.sh +++ b/t/t9001-send-email.sh @@ -841,6 +841,19 @@ test_expect_success $PREREQ '--compose adds MIME for utf8 subject' '  	grep "^Subject: =?UTF-8?q?utf8-s=C3=BCbj=C3=ABct?=" msgtxt1  ' +test_expect_success $PREREQ 'utf8 author is correctly passed on' ' +	clean_fake_sendmail && +	test_commit weird_author && +	test_when_finished "git reset --hard HEAD^" && +	git commit --amend --author "Füñný Nâmé <odd_?=mail@example.com>" && +	git format-patch --stdout -1 >funny_name.patch && +	git send-email --from="Example <nobody@example.com>" \ +	  --to=nobody@example.com \ +	  --smtp-server="$(pwd)/fake.sendmail" \ +	  funny_name.patch && +	grep "^From: Füñný Nâmé <odd_?=mail@example.com>" msgtxt1 +' +  test_expect_success $PREREQ 'detects ambiguous reference/file conflict' '  	echo master > master &&  	git add master && | 
