SV* const sv = newSVsv(prog->float_substr);
prog->float_utf8 = sv;
sv_utf8_upgrade(sv);
+ if (SvVALID(prog->float_substr))
+ fbm_compile(sv, 0);
if (SvTAIL(prog->float_substr))
SvTAIL_on(sv);
if (prog->float_substr == prog->check_substr)
SV* const sv = newSVsv(prog->anchored_substr);
prog->anchored_utf8 = sv;
sv_utf8_upgrade(sv);
+ if (SvVALID(prog->anchored_substr))
+ fbm_compile(sv, 0);
if (SvTAIL(prog->anchored_substr))
SvTAIL_on(sv);
if (prog->anchored_substr == prog->check_substr)
SV* sv = newSVsv(prog->float_utf8);
prog->float_substr = sv;
if (sv_utf8_downgrade(sv, TRUE)) {
+ if (SvVALID(prog->float_utf8))
+ fbm_compile(sv, 0);
if (SvTAIL(prog->float_utf8))
SvTAIL_on(sv);
} else {
SV* sv = newSVsv(prog->anchored_utf8);
prog->anchored_substr = sv;
if (sv_utf8_downgrade(sv, TRUE)) {
+ if (SvVALID(prog->anchored_utf8))
+ fbm_compile(sv, 0);
if (SvTAIL(prog->anchored_utf8))
SvTAIL_on(sv);
} else {
^(??{q(.+)})\x{100} \x{100}\x{100} y $& \x{100}\x{100}
^(??{q(.)})\x{100} \x{100}\x{100} y $& \x{100}\x{100}
^(??{chr 0x100})\xbb \x{100}\x{bb} y $& \x{100}\x{bb}
+\x{100}?(??{""})xxx xxx y $& xxx
^(.)(??{"(.)(.)"})(.)$ abcd y $1-$2 a-d
^(.)(??{"(bz+|.)(.)"})(.)$ abcd y $1-$2 a-d
^(.)((??{"(.)(cz+)"})|.) abcd y $1-$2 a-b