git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] mailinfo: better parse email adresses containg parentheses
@ 2008-07-21 13:34 Philippe Bruhat (BooK)
  2008-07-21 14:36 ` Lukas Sandström
  2008-07-22  3:16 ` Junio C Hamano
  0 siblings, 2 replies; 4+ messages in thread
From: Philippe Bruhat (BooK) @ 2008-07-21 13:34 UTC (permalink / raw)
  To: git; +Cc: Philippe Bruhat (BooK)

    When using git-rebase, author fields containing a ')' at the last
    position had the close-parens character incorrectly removed
    because the From: parser incorrectly matched it as

        user@host (User Name)

    (removing parentheses), instead of

        User Name (me) <user@host>

Signed-off-by: Philippe Bruhat (BooK) <book@cpan.org>
---
 builtin-mailinfo.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/builtin-mailinfo.c b/builtin-mailinfo.c
index b99a5b6..5581c9f 100644
--- a/builtin-mailinfo.c
+++ b/builtin-mailinfo.c
@@ -115,10 +115,10 @@ static void handle_from(const struct strbuf *from)
 	 * the () pair at the end.
 	 */
 	strbuf_trim(&f);
-	if (f.buf[0] == '(')
+	if (f.buf[0] == '(' && f.len && f.buf[f.len - 1] == ')') {
 		strbuf_remove(&name, 0, 1);
-	if (f.len && f.buf[f.len - 1] == ')')
 		strbuf_setlen(&f, f.len - 1);
+	}
 
 	get_sane_name(&name, &f, &email);
 	strbuf_release(&f);
-- 
1.5.4.3

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH] mailinfo: better parse email adresses containg parentheses
  2008-07-21 13:34 [PATCH] mailinfo: better parse email adresses containg parentheses Philippe Bruhat (BooK)
@ 2008-07-21 14:36 ` Lukas Sandström
  2008-07-22  3:16 ` Junio C Hamano
  1 sibling, 0 replies; 4+ messages in thread
From: Lukas Sandström @ 2008-07-21 14:36 UTC (permalink / raw)
  To: Philippe Bruhat (BooK); +Cc: git, Junio C Hamano

Philippe Bruhat (BooK) wrote:
>     When using git-rebase, author fields containing a ')' at the last
>     position had the close-parens character incorrectly removed
>     because the From: parser incorrectly matched it as
> 
>         user@host (User Name)
> 
>     (removing parentheses), instead of
> 
>         User Name (me) <user@host>
> 
> Signed-off-by: Philippe Bruhat (BooK) <book@cpan.org>

ACK.

> ---
>  builtin-mailinfo.c |    4 ++--
>  1 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/builtin-mailinfo.c b/builtin-mailinfo.c
> index b99a5b6..5581c9f 100644
> --- a/builtin-mailinfo.c
> +++ b/builtin-mailinfo.c
> @@ -115,10 +115,10 @@ static void handle_from(const struct strbuf *from)
>  	 * the () pair at the end.
>  	 */
>  	strbuf_trim(&f);
> -	if (f.buf[0] == '(')
> +	if (f.buf[0] == '(' && f.len && f.buf[f.len - 1] == ')') {
>  		strbuf_remove(&name, 0, 1);
Note: The line above should obviously be "strbuf_remove(&f, 0, 1);",
another error from the strbuf conversion I made. Sigh.

> -	if (f.len && f.buf[f.len - 1] == ')')
>  		strbuf_setlen(&f, f.len - 1);
> +	}
>  
>  	get_sane_name(&name, &f, &email);
>  	strbuf_release(&f);

/Lukas

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] mailinfo: better parse email adresses containg parentheses
  2008-07-21 13:34 [PATCH] mailinfo: better parse email adresses containg parentheses Philippe Bruhat (BooK)
  2008-07-21 14:36 ` Lukas Sandström
@ 2008-07-22  3:16 ` Junio C Hamano
  2008-07-22 10:24   ` Philippe Bruhat (BooK)
  1 sibling, 1 reply; 4+ messages in thread
From: Junio C Hamano @ 2008-07-22  3:16 UTC (permalink / raw)
  To: Philippe Bruhat (BooK); +Cc: git

"Philippe Bruhat (BooK)" <book@cpan.org> writes:

>     When using git-rebase, author fields containing a ')' at the last
>     position had the close-parens character incorrectly removed
>     because the From: parser incorrectly matched it as
>
>         user@host (User Name)
>
>     (removing parentheses), instead of
>
>         User Name (me) <user@host>
>
> Signed-off-by: Philippe Bruhat (BooK) <book@cpan.org>

Hmm, tests?

By the way, that second form parses like this:

	mailbox =
        name-addr =
        display-name angle-addr = "User Name (me) <user@host>"

        display-name =
        phrase = "User Name"
        
        angle-addr = CFWS "<" addr-spec ">" = "(me) <user@host>"

So strictly speaking, shouldn't we be stripping the whole (me) as garbage?
It is not even part of the display-name but is a whitespace equivalent
comment.


        

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] mailinfo: better parse email adresses containg parentheses
  2008-07-22  3:16 ` Junio C Hamano
@ 2008-07-22 10:24   ` Philippe Bruhat (BooK)
  0 siblings, 0 replies; 4+ messages in thread
From: Philippe Bruhat (BooK) @ 2008-07-22 10:24 UTC (permalink / raw)
  To: git

On Mon, Jul 21, 2008 at 08:16:43PM -0700, Junio C Hamano wrote:
> >
> > Signed-off-by: Philippe Bruhat (BooK) <book@cpan.org>
> 
> Hmm, tests?
> 
> By the way, that second form parses like this:
> 
> 	mailbox =
>         name-addr =
>         display-name angle-addr = "User Name (me) <user@host>"
> 
>         display-name =
>         phrase = "User Name"
>         
>         angle-addr = CFWS "<" addr-spec ">" = "(me) <user@host>"
> 
> So strictly speaking, shouldn't we be stripping the whole (me) as garbage?
> It is not even part of the display-name but is a whitespace equivalent
> comment.

Well, I use this:

    "Philippe Bruhat (BooK)" <book@cpan.org>

as my From: line, and I would like to be able to use it so in git.

As git knows the difference between user name and user email, it should
be able to keep the information separate all the way.

Which makes me think that since it seems that rebase goes through a
patch-file step, the problem with my username may actually lie with
creating the patch file (no quotes around a user name containing parens)
rather than with parsing the patch  From: line.

-- 
 Philippe Bruhat (BooK)

 Everyone's life seems easier from the outside.
                                    (Moral from Groo The Wanderer #45 (Epic))

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2008-07-22 10:25 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-07-21 13:34 [PATCH] mailinfo: better parse email adresses containg parentheses Philippe Bruhat (BooK)
2008-07-21 14:36 ` Lukas Sandström
2008-07-22  3:16 ` Junio C Hamano
2008-07-22 10:24   ` Philippe Bruhat (BooK)

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).