From: Jürgen Rühle Date: Wed, 10 Jan 2007 21:36:39 +0000 (-0800) Subject: send-email: work around double encoding of in-body From field. X-Git-Tag: v1.5.0-rc1~18 X-Git-Url: https://git.tokkee.org/?a=commitdiff_plain;h=374c59056a0719fe1244280cdb6fdce48672f441;p=git.git send-email: work around double encoding of in-body From field. git-send-email sends out the message taken from format-patch output without quoting nor encoding. When copying the From: line to form in-body From: field, it should not copy it verbatim, because the From: for the header is quoted according to RFC 2047 when not ASCII. The original came from Jürgen Rühle, but I moved the string munging into a separate function so that later other people can tweak it more easily. Bugs introduced during the translation are mine. Signed-off-by: Junio C Hamano --- diff --git a/git-send-email.perl b/git-send-email.perl index ba39d3938..8dc2ee0cf 100755 --- a/git-send-email.perl +++ b/git-send-email.perl @@ -402,6 +402,15 @@ sub make_message_id $cc = ""; $time = time - scalar $#files; +sub unquote_rfc2047 { + local ($_) = @_; + if (s/=\?utf-8\?q\?(.*)\?=/$1/g) { + s/_/ /g; + s/=([0-9A-F]{2})/chr(hex($1))/eg; + } + return "$_ - unquoted"; +} + sub send_message { my @recipients = unique_email_list(@to); @@ -555,6 +564,7 @@ foreach my $t (@files) { } close F; if (defined $author_not_sender) { + $author_not_sender = unquote_rfc2047($author_not_sender); $message = "From: $author_not_sender\n\n$message"; }