This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
regexec.c: Revamp S_setup_EXACTISH_ST() loop end conditions
authorKarl Williamson <khw@cpan.org>
Fri, 13 Nov 2020 16:38:21 +0000 (09:38 -0700)
committerKarl Williamson <khw@cpan.org>
Sun, 20 Dec 2020 04:36:46 +0000 (21:36 -0700)
commitbb3825626ed2b1217a2ac184eff66d0d4ed6e070
tree1c042b7d1931da43845c4dca7fe5ac62ad78417f
parent954dc197ae9570855eb54ab9467b24c2f1b95eba
regexec.c: Revamp S_setup_EXACTISH_ST() loop end conditions

Consider the pattern /A*B/ where A and B are arbitrary.  The pattern
matching code tries to make a tight loop to match the span of A's.  The
logic of this was not really updated when UTF-8 was added.  I did
revamp it some releases ago to fix some bugs and to at least consider
UTF-8.

This commit changes it so that Unicode is now a first class citizen.
Some details are listed in the ticket GH #18414
regexec.c
regexp.h