This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
regex: Use ANYOFV
authorKarl Williamson <public@khwilliamson.com>
Fri, 14 Jan 2011 05:36:36 +0000 (22:36 -0700)
committerKarl Williamson <public@khwilliamson.com>
Fri, 14 Jan 2011 05:55:54 +0000 (22:55 -0700)
This patch restructures the regex ANYOF code to generate ANYOFV nodes instead
when there is a possibility that it could match more than one character.   Note
that this doesn't affect the optimizer, as it essentially ignores things that
fit into this category.  (But it means that the optimizer will no longer reject
these when it shouldn't have.)

The handling of the LATIN SHARP s is modified to correspond with this new node
type.

The initial handling of ANYOFV is placed in regexec.c.  More analysis will come
on that.  But there was significant change to the part that handles matching
multi-char strings.  This has long been buggy, with it previously comparing a
folded-version on one side with a non-folded version on the other.

This patch fixes about 60% of the problems that my undelivered test suite gives
for multi-char folds.  But there are still 17K test failures left, so I'm still
not delivering that.  The TODOs that this fixes will be cleaned up in a later commit


No differences found