PATCH [perl #121144]: \S, \W, etc fail for above ASCII
authorKarl Williamson <public@khwilliamson.com>
Mon, 3 Feb 2014 05:30:10 +0000 (22:30 -0700)
committerKarl Williamson <public@khwilliamson.com>
Mon, 3 Feb 2014 05:59:58 +0000 (22:59 -0700)
commit3c075feabc1b777553a63a5a7d87ef482f2e3d49
tree406b093b23834077b731f0f6d4bb750afbc2e2df
parent51b4c035919497f474ce46dcbdac1d2f3fd18a84
PATCH [perl #121144]: \S, \W, etc fail for above ASCII

There were three things wrong with these couple of lines of code.that
help generate the synthetic start class (SSC).

1)  It used PL_regkind, instead of straight OP.  This meant that /u
    matches were treated the same as /d matches since they both have the
    same regkind.
2)  For what it thought was just for /d, it used the complement of
    ASCII, which matches 128-INFINITY, whereas it wanted 128-255 only..
3)  It did a union of this complement, instead of a subtract of the
    non-complement, forgetting that we are about to complement the
    result, so that if we want the end result to have something, we
    better have the input not have that something, or the complementing
    will screw it up.
regcomp.c
t/re/re_tests