regcomp.c: Simplify handling of EXACTFish nodes with 's' at edge
authorKarl Williamson <khw@cpan.org>
Thu, 20 Dec 2018 09:09:09 +0000 (02:09 -0700)
committerKarl Williamson <khw@cpan.org>
Wed, 26 Dec 2018 19:50:37 +0000 (12:50 -0700)
commit95fb0a6ee328d82cedece3632319bbf5e2578e25
treef3dee08fd82f7014cb07057a4755d77d29ea1674
parent0fbec7cfee07bcb4184ad6f26fffb15af3fdc048
regcomp.c: Simplify handling of EXACTFish nodes with 's' at edge

Commit 8a100c918ec81926c0536594df8ee1fcccb171da created node types for
handling an 's' at the leading edge, at the trailing edge, and at both
edges for nodes under /di that there is nothing else in that would
prevent them from being EXACTFU nodes.  If two of these get joined, it
could create an 'ss' sequence which can't be an EXACTFU node, for U+DF
would match them unconditionally.  Instead, under /di it should match
if and only if the target string is UTF-8 encoded.

I realized later that having three types becomes harder to deal with
when adding yet more node types, so this commit turns the three into
just one node type, indicating that at least one edge of the node is an
's'.

It also simplifies the parsing of the pattern and determining which node
to use.
pod/perldebguts.pod
regcomp.c
regcomp.sym
regnodes.h
t/porting/known_pod_issues.dat