develooper Front page | perl.perl5.porters | Postings from May 2010

Re: PATCH: [perl #58182] partial, "The Unicode Bug". Add unicodesemantics for \s, \w

Thread Previous | Thread Next
karl williamson
May 18, 2010 10:52
Re: PATCH: [perl #58182] partial, "The Unicode Bug". Add unicodesemantics for \s, \w
Message ID:
karl williamson wrote:
> Zefram wrote:
>> karl williamson wrote:
>>> Note that there is a behavior change that may be incompatible with
>>> existing code.
>> Does the parsing of "/foo/lt +1" change?
>> -zefram
> Yes.
> When this was being discussed last year, and these modifiers were agreed 
> on, no one mentioned adding modifier letters could conflict with 
> existing syntax.  But someone thought of it later, as I remember seeing 
> a .t file patch come through to make sure that things like
> '/foo/and bar' don't ever change in meaning.
> In looking at this more, I see existing ambiguities in ge and cmp.  I 
> suppose those have always been there, and so no code ever got run 
> without uncovering the problem.
> It appears that 'l' can't be used as it changes the meaning of
> '/foo/le +1'.
> And neither can 't' because of 'gt'.
> 'h' for historical could be used instead of 't' (I can't think of any 
> conflicts with this), but what could be used to mean locale?

In thinking about modifier letters that can't possibly conflict with any 
existing constructs, I came up with the following:

To mean the way it always has worked: 'h' for historical, or 'r' for 
oRiginal, retro or retarded.

To mean locale: 'z' for zone.

I asked Yves privately about this, and he wonders if it is worth trying 
to not break constructs like '/foo/lt +2'

Thread Previous | Thread Next Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at | Group listing | About