send-email: ignore trailing whitespace in mailrc alias file
The regex for parsing mailrc considers everything after the second whitespace to be the email address, up to the end of the line. We have to include whitespace there, because you may have multiple space-separated addresses, each with their own internal quoting. But if there is trailing whitespace, we include that, too. This confuses quotewords() when we try to split the individual addresses, and we end up storing "undef" in our alias list. Later parts of the code then access that, generating perl warnings. Let's tweak our regex to throw away any trailing whitespace on each line. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Jeff King committed
Mar 17, 2016 at 19:58 UTC
a277d1efa35ea47ac473ed7e3d92fc6f1c04da7d
1 file changed
+1
-1
git-send-email.perl
+1
-1
@@ -533,7 +533,7 @@ my %parse_alias = (
533
$aliases{$alias} = \@addr
534
}}},
535
mailrc => sub { my $fh = shift; while (<$fh>) {
536
- if (/^alias\s+(\S+)\s+(.*)$/) {
536
+ if (/^alias\s+(\S+)\s+(.*?)\s*$/) {
537
# spaces delimit multiple addresses
538
$aliases{$1} = [ quotewords('\s+', 0, $2) ];
539
}}},