-
Notifications
You must be signed in to change notification settings - Fork 581
Regex optimizer fails with mixture of EXACT, and EXACTFU #12295
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
From @khwilliamsonThis is a bug report for perl from khw@karl.(none), This fails: It should succeed because the fold of x{130} is \x49\x{307}, and the floating utf8 "_" at 2..3 (checking floating) stclass EXACTFU <i\x{307}> It succeeds if the underscore is changed into "(?i:_)". This means the Flags: Site configuration information for perl 5.17.3: Configured by khw at Thu Jul 26 08:28:09 MDT 2012. Summary of my perl5 (revision 5 version 17 subversion 3) configuration: Locally applied patches: @INC for perl 5.17.3: /home/khw/blead/lib/perl5/site_perl/5.17.3/i686-linux-thread-multi-64int-ld Environment for perl 5.17.3: PATH=/home/khw/bin:/home/khw/print/bin:/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/usr/games:/home/khw/cxoffice/bin |
From @khwilliamsonI have done some more research into this, as follows. A simpler example blead -Mre=Debug,All -E 'say "\N{LATIN SMALL LIGATURE FF}_" =~ /(?i:ff)_/' That yields: The regex optimizer, split between regcomp.c and regexec.c, does not anchored "_" at 2 (checking anchored) stclass EXACTFU <ff> minlen 3 is wrong because the "2" could either be 1 or 2 characters, so should be The obvious solution would be to change the regcomp.c portion of the The best method I've come up with so far along those lines is to go -- |
From [Unknown Contact. See original ticket]I have done some more research into this, as follows. A simpler example blead -Mre=Debug,All -E 'say "\N{LATIN SMALL LIGATURE FF}_" =~ /(?i:ff)_/' That yields: The regex optimizer, split between regcomp.c and regexec.c, does not anchored "_" at 2 (checking anchored) stclass EXACTFU <ff> minlen 3 is wrong because the "2" could either be 1 or 2 characters, so should be The obvious solution would be to change the regcomp.c portion of the The best method I've come up with so far along those lines is to go -- |
@khwilliamson - Status changed from 'new' to 'open' |
From @khwilliamsonThis was fixed mainly by commit 0a982f0 |
@khwilliamson - Status changed from 'open' to 'resolved' |
Migrated from rt.perl.org#114282 (status was 'resolved')
Searchable as RT114282$
The text was updated successfully, but these errors were encountered: