All of lore.kernel.org
 help / color / mirror / Atom feed
From: Francis Galiegue <fg@one2team.com>
To: Ian Hilt <ian.hilt@gmx.com>
Cc: Tait <git.git@t41t.com>, Git Mailing List <git@vger.kernel.org>
Subject: Re: [PATCH] git send-email: edit recipient addresses with the --compose flag
Date: Tue, 11 Nov 2008 21:53:30 +0100	[thread overview]
Message-ID: <200811112153.31214.fg@one2team.com> (raw)
In-Reply-To: <alpine.LFD.2.00.0811111542230.24205@sys-0.hiltweb.site>

Le Tuesday 11 November 2008 21:47:55 Ian Hilt, vous avez écrit :
> On Tue, 11 Nov 2008, Francis Galiegue wrote:
> > Le Tuesday 11 November 2008 02:49:19 Tait, vous avez écrit :
> > > > > > +	if ($c_file =~ /^To:\s*+(.+)\s*\nCc:/ism) {
> > > > >
> > > > > Greedy operators are only supported with perl 5.10 or more... I
> > > > > think it's a bad idea to use them...
> > > >
> > > > The problem here was that a space should follow the field, but it may
> > > > not.  The user may unwarily backup over it.  "\s*" would match this
> > > > case.
> > > >
> > > > But if there is a space, it is included in the "(.+)".
> > >
> > > Not in any version of Perl to which I have access.
> >
> > And if you see a space in (.+), your regex engine is buggy anyway.
>
> So what does this script produce on your systems?
>
>
> #!/usr/bin/perl -Tw
> --8<--
> use strict;
> my $ws = "To: \nCc:";
>
> $ws =~ /^To:\s*(.+)\s*\nCc:/ism;
>
> if ($1 eq ' ') {
> 	print "\$1 is equal to a space.\n";
> }
> -->8--
>
> On mine, it prints the message.  So it seems it is matching _a_ space.

Which is perfectly normal. The first \s* wanted spaces, it got them. But it 
left nothing for the capturing .+ behind. And any quantifier (except when it 
is possessive) _MUST_ backtrack in order for the full regex to complete. This 
is why the .+ captured the space: the first \s* was perfectly fine with no 
space at all, and the second, well, didn't find any space but it didn't care 
either.

-- 
Francis Galiegue
ONE2TEAM
Ingénieur système
Mob : +33 (0) 6 83 87 78 75
Tel : +33 (0) 1 78 94 55 52
fge@one2team.com
40 avenue Raymond Poincaré
75116 Paris

  parent reply	other threads:[~2008-11-11 20:55 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-11-09 12:59 [PATCH] git send-email: edit recipient addresses with the --compose flag Ian Hilt
2008-11-09 14:13 ` Francis Galiegue
2008-11-09 20:09   ` Ian Hilt
2008-11-09 22:09     ` Junio C Hamano
2008-11-10  0:38       ` Ian Hilt
2008-11-10  5:18         ` Junio C Hamano
2008-11-10 18:12           ` Ian Hilt
2008-11-10  7:49         ` Francis Galiegue
2008-11-10  8:08           ` Aristotle Pagaltzis
2008-11-11  1:49     ` Tait
2008-11-11 11:30       ` Francis Galiegue
2008-11-11 20:47         ` Ian Hilt
2008-11-11 20:53           ` Ian Hilt
2008-11-11 20:53           ` Francis Galiegue [this message]
2008-11-11 22:14           ` Tait
2008-11-10  7:57 ` Francis Galiegue
2008-11-10  7:59   ` Francis Galiegue

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200811112153.31214.fg@one2team.com \
    --to=fg@one2team.com \
    --cc=git.git@t41t.com \
    --cc=git@vger.kernel.org \
    --cc=ian.hilt@gmx.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.