Subject: Re: [PATCH] git-send-email.perl: Deduplicate "to:" and "cc:" entries with names

From: Pete Harlan <[email-masked]>
Date: Sat, 20 Nov 2010 14:47:15 -0800

On 11/20/2010 01:01 PM, Joe Perches wrote:
> On Sat, 2010-11-20 at 21:15 +0100, Andreas Schwab wrote:
>> Joe Perches <[email-masked]> writes:
>> > diff --git a/git-send-email.perl b/git-send-email.perl
>> > index f68ed5a..1ae5fbf 100755
>> > --- a/git-send-email.perl
>> > +++ b/git-send-email.perl
>> > @@ -960,7 +960,7 @@ sub maildomain {
>> >  sub send_message {
>> >  	my @recipients = unique_email_list(@to);
>> >  	@cc = (grep { my $cc = extract_valid_address($_);
>> > -		      not grep { $cc eq $_ } @recipients
>> > +		      not grep { $cc eq $_ || $_ =~ /<${cc}>$/ } @recipients
>>                                                     /<\Q${cc}\E>$/
> 
> Why are \Q and \E useful here?
> extract_valid_address provides an unadorned email address.
> I've now tested with and without, both seem to work properly.

Because email addresses can contain characters (e.g., '+') that you don't want the regular expression to treat specially.