From: Ævar Arnfjörð Bjarmason Date: Mon, 04 Oct 2021 23:47:36 GMT Subject: Re: git send-email splits name with comma Message-ID: <87pmskl508.fsf@evledraar.gmail.com> In-Reply-To: On Mon, Oct 04 2021, Geert Uytterhoeven wrote: > Hi Junio, > > On Mon, Oct 4, 2021 at 8:47 PM Junio C Hamano wrote: >> Geert Uytterhoeven writes: >> > On Mon, Oct 4, 2021 at 4:31 PM Andreas Schwab wrote: >> >> On Okt 04 2021, Geert Uytterhoeven wrote: >> >> > If the name of an email address contains a comma, it will be split >> >> > incorrectly into multiple addresses. >> >> >> >> If you want to include a comma in the display-name part of an address, >> >> you need to use the quoted-string form of the phrase. >> > >> > Adding more quoting like: >> > >> > git send-email --to "\"foo bar, geert\" " >> > >> > indeed works. But I feel git send-email could do better, given it already >> > receives the full email address in a single argv[] entry. >> >> Sorry, but I do not quite follow. >> >> If I were to send a message both to the list and to you, wouldn't >> >> git send-email --to "l-k@vger.k.org, geert " >> >> a valid way to do so? > > Oh wait, I never realized --to and --cc take multiple email addresses; > I also use multiple --to/--cc options instead. > So the behavior I see is actually the expected behavior. > Thanks, and sorry for the noise. > > Gr{oetje,eeting}s, FWIW git-send-email just defers to Perl's Mail::Address module here: perl -MMail::Address -MData::Dumper -wE 'warn qq[For @ARGV got: ] . Dumper [map { $_->format } map { Mail::Address->parse($_) } @ARGV] ' 'foo, bar ' For foo, bar got: $VAR1 = [ 'foo', 'bar ' ]; As has been noted the quotes are needed, and the same should go for yor mailer. Anyway, that's covered already, but if anyone cared to make it friendlier I don't see why it couldn't be made to be nicer. I.e. we could loop over the list, use $_->address to see that the "foo" doesn't even have an "@" in it, and either fix it up to what th user probably meant, or do so conditionally, warn or whatever.