From 2c510f21cd2c571549cf75ff94061a2a6717851f Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Mon, 4 Jan 2016 20:53:30 +0000 Subject: git-send-email: do not double-escape quotes from mutt mutt saves aliases with escaped quotes in the form of: alias dot \"Dot U. Sir\" When we pass through our sanitize_address routine, we end up with double-escaping: To: "\\\"Dot U. Sir\\\" Remove the escaping in mutt only for now, as I am not sure if other mailers can do this or if this is better fixed in sanitize_address. Cc: Remi Lespinet Cc: Matthieu Moy Signed-off-by: Eric Wong Signed-off-by: Junio C Hamano --- git-send-email.perl | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'git-send-email.perl') diff --git a/git-send-email.perl b/git-send-email.perl index e1e9b1460..6c140e4ef 100755 --- a/git-send-email.perl +++ b/git-send-email.perl @@ -493,8 +493,13 @@ my %parse_alias = ( if (/^\s*alias\s+(?:-group\s+\S+\s+)*(\S+)\s+(.*)$/) { my ($alias, $addr) = ($1, $2); $addr =~ s/#.*$//; # mutt allows # comments - # commas delimit multiple addresses - $aliases{$alias} = [ split_addrs($addr) ]; + # commas delimit multiple addresses + my @addr = split_addrs($addr); + + # quotes may be escaped in the file, + # unescape them so we do not double-escape them later. + s/\\"/"/g foreach @addr; + $aliases{$alias} = \@addr }}}, mailrc => sub { my $fh = shift; while (<$fh>) { if (/^alias\s+(\S+)\s+(.*)$/) { -- cgit v1.2.1