Eric Wong <[email protected]> writes:

> --- a/git-send-email.perl
> +++ b/git-send-email.perl
> @@ -524,8 +524,14 @@ 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,
> +                     # remove them if paired so we do not
> +                     # double-escape them later.

I think you meant "remove the escaping" or simply "unescape", not
"remove them", which I'd understand as "remove the quotes".

Other than that, the patch looks good to me, including your proposed
fixup:

--- a/git-send-email.perl
+++ b/git-send-email.perl
@@ -530,7 +530,7 @@ my %parse_alias = (
                        # quotes may be escaped in the file,
                        # remove them if paired so we do not
                        # double-escape them later.
-                       s/^\\"(.*?)\\"/"$1"/g foreach @addr;
+                       s/\\"/"/g foreach @addr;
                        $aliases{$alias} = \@addr

Eric Wong <[email protected]> writes:

> alias qn \"Q. N\\\"ame\" <[email protected]>   # becomes "Q. N\"ame"
> alias dq \"Dub O.\" \"Q\" <[email protected]>  # becomes "Dub O. Q"
[...]
> But I'm not sure how to handle the "dq" case or if that even
> happens in practice, as attempting to save an alias with "Dub O." "Q"
> in the From: header, mutt shortens it to the expected \"Dub O. Q\"
> without extra quotes.

I wouldn't worry too much about corner-cases, but perhaps some people do
use escaped quotes inside escaped quotes. I'd say they get what they
deserve ;-).

-- 
Matthieu Moy
http://www-verimag.imag.fr/~moy/
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to