summaryrefslogtreecommitdiff
path: root/pp_ctl.c
diff options
context:
space:
mode:
authorChip Salzenberg <chip@atlantic.net>1996-12-19 16:11:33 +1200
committerChip Salzenberg <chip@atlantic.net>1996-12-20 11:14:00 +1200
commitff3ff8d1abe1e7138bb7e58aa6f10864e2d07fa7 (patch)
tree7f844f345f4738bb291befbec09efbf627185328 /pp_ctl.c
parente0bef290662a8effcfd97306a4cca7327d4afe8a (diff)
downloadperl-ff3ff8d1abe1e7138bb7e58aa6f10864e2d07fa7.tar.gz
Make evals' lexicals visible to nested evals
Diffstat (limited to 'pp_ctl.c')
-rw-r--r--pp_ctl.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/pp_ctl.c b/pp_ctl.c
index 78e1c99585..601879323e 100644
--- a/pp_ctl.c
+++ b/pp_ctl.c
@@ -1900,6 +1900,7 @@ int gimme;
dSP;
OP *saveop = op;
HV *newstash;
+ CV *caller;
AV* comppadlist;
in_eval = 1;
@@ -1916,9 +1917,11 @@ int gimme;
SAVEI32(min_intro_pending);
SAVEI32(max_intro_pending);
+ caller = compcv;
SAVESPTR(compcv);
compcv = (CV*)NEWSV(1104,0);
sv_upgrade((SV *)compcv, SVt_PVCV);
+ CvOUTSIDE(compcv) = (CV*)SvREFCNT_inc(caller);
comppad = newAV();
comppad_name = newAV();