summaryrefslogtreecommitdiff
path: root/pp_ctl.c
diff options
context:
space:
mode:
authorIlya Zakharevich <ilya@math.berkeley.edu>2000-09-27 14:54:49 -0400
committerJarkko Hietaniemi <jhi@iki.fi>2000-10-03 00:04:00 +0000
commit6dc8a9e4bcd53982379e0df712cfc2dd75d92d2f (patch)
tree3172594a4993b36d88e40a7e472951cd65840346 /pp_ctl.c
parentb57a092cb822ae32e4804707ff8729ac6bb222b9 (diff)
downloadperl-6dc8a9e4bcd53982379e0df712cfc2dd75d92d2f.tar.gz
Inside require() $^S was always left undefined.
Subject: Re: Tiny 2-byte change to fix debugger's eval bug Message-ID: <20000927185449.A24927@monk.mps.ohio-state.edu> p4raw-id: //depot/perl@7120
Diffstat (limited to 'pp_ctl.c')
-rw-r--r--pp_ctl.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/pp_ctl.c b/pp_ctl.c
index 254cce8692..c949e789a1 100644
--- a/pp_ctl.c
+++ b/pp_ctl.c
@@ -2728,7 +2728,9 @@ S_doeval(pTHX_ int gimme, OP** startop)
AV* comppadlist;
I32 i;
- PL_in_eval = EVAL_INEVAL;
+ PL_in_eval = ((saveop && saveop->op_type == OP_REQUIRE)
+ ? (EVAL_INREQUIRE | (PL_in_eval & EVAL_INEVAL))
+ : EVAL_INEVAL);
PUSHMARK(SP);
@@ -2891,6 +2893,7 @@ S_doeval(pTHX_ int gimme, OP** startop)
CvDEPTH(PL_compcv) = 1;
SP = PL_stack_base + POPMARK; /* pop original mark */
PL_op = saveop; /* The caller may need it. */
+ PL_lex_state = LEX_NOTPARSING; /* $^S needs this. */
#ifdef USE_THREADS
MUTEX_LOCK(&PL_eval_mutex);
PL_eval_owner = 0;