Hi,

I'm currently working on git send-email to allow passing names
containing commas. I would like to specify that the comma
shouldn't be interpreted as a delimiter when there's quotes
around:

  "Jane, Katarina Doe" <[email protected]>

This changes the behavior of the double quote. For example
when passing:

  --to='"Jane" Doe <[email protected]>'

to git send-email, the line produced was:

  To: "\"Jane\" Doe" <[email protected]>

With this modification, it would be:

  To: Jane Doe <[email protected]>
    or
  To: "Jane Doe" <[email protected]>

And this will not be possible to use quote in a name anymore.
Is this a problem ?

Currently, git send-email contains a function which splits at commas
with respect to quotes (parse_address_line introduced by
5012699d9840fe34fe0838ea0d529c2f32f76b82). It is used to parse user
input when there's no recipient specified. I would like to use this
function to parse --to, --cc and --bcc options, but the execution of
this function depends on whether the user has the Perl library
Mail::Address or not. This introduce a change in the behaviour:

Output1 represents lines produced with the Mail::Address library
Output2 represents lines produced without the Mail::Address library

 1) Simple quote are not interpreted the same way:

   Input : 'Doe, "Jane' <[email protected]>
      Output1 : 'Doe,
                "\" Jane'" <[email protected]>
      Output2 : "'Doe, \"Jane'" <[email protected]>

   Input : 'Jane 'Doe' <[email protected]>
      Output1 : 'Jane 'Doe' <[email protected]>
      Output2 : ERROR

 2) Mail::Address adds a space when using a quote or a backslash in a name

   Input : "Jane Do"e <[email protected]>
      Output1 : "\"Jane Do\" e" <[email protected]>
      Output2 : "\"Jane Do\"e" <[email protected]>

   Input : \Jane Doe <[email protected]>
      Output1 : "\ Jane Doe" <[email protected]>
      Output2 : "\Jane Doe" <[email protected]>

 3) Mail::Address works when quote is not closed

   Input : "Jane Doe <[email protected]>
      Output1 : "\" Jane Doe" <[email protected]>
      Output2 : ERROR

 4) Mail::Address splits the string when there's no comma

   Input : Jane "Doe <[email protected]>"
      Output1 : Jane,
        "\"Doe" <[email protected]>
      Output2 : "Jane \"Doe" <[email protected]>

The following doesn't work for both:

   Input : "Jane Doe <[email protected]>" <[email protected]>
      Output1 : ERROR
      Output2 : ERROR
--
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