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
next prev 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).