B && BEGIN handling
[p5sagit/p5-mst-13.2.git] / ext / B / B.xs
index ea4f620..c3ce0ed 100644 (file)
@@ -528,7 +528,7 @@ minus_c()
 void
 save_BEGINs()
     CODE:
-       PL_minus_c |= 0x10;
+       PL_savebegin = TRUE;
 
 SV *
 cstring(sv)
@@ -667,7 +667,7 @@ LISTOP_children(o)
 #define PMOP_pmreplroot(o)     o->op_pmreplroot
 #define PMOP_pmreplstart(o)    o->op_pmreplstart
 #define PMOP_pmnext(o)         o->op_pmnext
-#define PMOP_pmregexp(o)       o->op_pmregexp
+#define PMOP_pmregexp(o)       PM_GETRE(o)
 #define PMOP_pmflags(o)                o->op_pmflags
 #define PMOP_pmpermflags(o)    o->op_pmpermflags
 
@@ -712,7 +712,7 @@ PMOP_precomp(o)
        REGEXP *        rx = NO_INIT
     CODE:
        ST(0) = sv_newmortal();
-       rx = o->op_pmregexp;
+       rx = PM_GETRE(o);
        if (rx)
            sv_setpvn(ST(0), rx->precomp, rx->prelen);