git.vger.kernel.org archive mirror
 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 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).