node_name = PL_reg_name[OP(node)];
}
+STATIC struct re_save_state reht_state_bak;
+
STATIC void reht_custom_exec_node(pTHX_ regexp *rx, regnode *node, regmatch_info *reginfo, regmatch_state *st) {
STRLEN node_namelen;
const char *node_name;
node_name = PL_reg_name[OP(node)];
node_namelen = strlen(node_name);
+ /* The global regexp state may be overwritten if the Perl callback does a
+ * regexp match. */
+ reht_state_bak = PL_reg_state;
+
dSP;
ENTER;
FREETMPS;
LEAVE;
+
+ PL_reg_state = reht_state_bak;
}
/* --- XS ------------------------------------------------------------------ */