if (LOC) {
SV* scratch_list = NULL;
- /* Set this class in the node for runtime matching */
- ANYOF_CLASS_SET(ret, namedclass);
-
/* For above Latin1 code points, we use the full
* Unicode range */
_invlist_intersection(PL_AboveLatin1,
_invlist_union(posixes, scratch_list, &posixes);
SvREFCNT_dec(scratch_list);
}
+
+ /* Set this class in the node for runtime matching */
+ ANYOF_CLASS_SET(ret, namedclass);
}
else {
/* For non-locale, just add it to any existing list */
do_n_posix:
if (LOC) {
SV* scratch_list = NULL;
- ANYOF_CLASS_SET(ret, namedclass);
_invlist_subtract(PL_AboveLatin1,
PL_XPosix_ptrs[classnum],
&scratch_list);
_invlist_union(posixes, scratch_list, &posixes);
SvREFCNT_dec(scratch_list);
}
+ ANYOF_CLASS_SET(ret, namedclass);
}
else {
_invlist_union_complement_2nd(