regcomp.c: Trade a little time for simplicity
authorKarl Williamson <public@khwilliamson.com>
Sun, 5 Jan 2014 06:13:56 +0000 (23:13 -0700)
committerKarl Williamson <public@khwilliamson.com>
Thu, 9 Jan 2014 21:05:43 +0000 (14:05 -0700)
commit2b0db9ab0a7175908b1f2609b386196602d0b30a
tree1f0065cb18df17e4da0be2084d62fc159955b230
parentce06237d0b462fe78ff975ab859a7140c2854fb0
regcomp.c: Trade a little time for simplicity

Perl currently has two sets of inversion lists for the POSIX classes
built in.  One set is for the entire Unicode range; the other for just
the ASCII range.  This latter set could be derived from the larger one
at run time by doing an intersection with ASCII.  This commit starts the
process of entirely removing the second set, thus avoiding its
bookkeeping.  This commit avoids one use of the ASCII set, instead
adding an intersection with ASCII after all the POSIX classes in a
bracketed character set have been combined.  Thus the penalty is one
intersection per compilation of each bracketed character classes that
contain POSIX classes.
regcomp.c