LEAVE;
+ /* LEAVE could clobber PL_curcop (see save_re_context())
+ * XXX it might be better to find a way to avoid messing with
+ * PL_curcop in save_re_context() instead, but this is a more
+ * minimal fix --GSAR */
+ PL_curcop = cx->blk_oldcop;
+
if (optype == OP_REQUIRE) {
char* msg = SvPVx(ERRSV, n_a);
DIE(aTHX_ "%sCompilation failed in require",
#else
SAVEVPTR(PL_op);
#endif
-#ifdef EBCDIC
- PL_hints = HINT_BYTE;
-#else
PL_hints = 0;
-#endif
PL_op = &dummy;
PL_op->op_type = OP_ENTEREVAL;
PL_rsfp = tryrsfp;
SAVEHINTS();
-#ifdef EBCDIC
- PL_hints = HINT_BYTE;
-#else
PL_hints = 0;
-#endif
SAVESPTR(PL_compiling.cop_warnings);
if (PL_dowarn & G_WARN_ALL_ON)
PL_compiling.cop_warnings = pWARN_ALL ;