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" <j...@example.com>

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

  --to='"Jane" Doe <j...@example.com>'

to git send-email, the line produced was:

  To: "\"Jane\" Doe" <j...@example.com>

With this modification, it would be:

  To: Jane Doe <j...@example.com>
    or
  To: "Jane Doe" <j...@example.com>

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' <j...@example.com>
      Output1 : 'Doe,
                "\" Jane'" <j...@example.com>
      Output2 : "'Doe, \"Jane'" <j...@example.com>

   Input : 'Jane 'Doe' <j...@example.com>
      Output1 : 'Jane 'Doe' <j...@example.com>
      Output2 : ERROR

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

   Input : "Jane Do"e <j...@example.com>
      Output1 : "\"Jane Do\" e" <j...@example.com>
      Output2 : "\"Jane Do\"e" <j...@example.com>

   Input : \Jane Doe <j...@example.com>
      Output1 : "\ Jane Doe" <j...@example.com>
      Output2 : "\Jane Doe" <j...@example.com>

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

   Input : "Jane Doe <j...@example.com>
      Output1 : "\" Jane Doe" <j...@example.com>
      Output2 : ERROR

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

   Input : Jane "Doe <j...@example.com>"
      Output1 : Jane,
        "\"Doe" <j...@example.com>
      Output2 : "Jane \"Doe" <j...@example.com>

The following doesn't work for both:

   Input : "Jane Doe <j...@example.com>" <j...@example.com>
      Output1 : ERROR
      Output2 : ERROR
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to