summaryrefslogtreecommitdiff
path: root/pp_ctl.c
diff options
context:
space:
mode:
authorChip Salzenberg <chip@atlantic.net>1996-12-26 13:07:14 +1200
committerChip Salzenberg <chip@atlantic.net>1996-12-28 06:22:00 +1200
commit07055b4c536e012d70aa7099a086192fbb14e918 (patch)
tree3e0a87f4a64a30f336a29f23aba7fd2aac1b1e58 /pp_ctl.c
parent39035d0c756b3e78a63763b830ba26854e6124f8 (diff)
downloadperl-07055b4c536e012d70aa7099a086192fbb14e918.tar.gz
Support named closures
Diffstat (limited to 'pp_ctl.c')
-rw-r--r--pp_ctl.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/pp_ctl.c b/pp_ctl.c
index 332ae4831d..1350de4196 100644
--- a/pp_ctl.c
+++ b/pp_ctl.c
@@ -1926,7 +1926,7 @@ int gimme;
SAVESPTR(compcv);
compcv = (CV*)NEWSV(1104,0);
sv_upgrade((SV *)compcv, SVt_PVCV);
- CvOUTSIDE(compcv) = (CV*)SvREFCNT_inc(caller);
+ CvUNIQUE_on(compcv);
comppad = newAV();
comppad_name = newAV();
@@ -1941,6 +1941,8 @@ int gimme;
av_store(comppadlist, 0, (SV*)comppad_name);
av_store(comppadlist, 1, (SV*)comppad);
CvPADLIST(compcv) = comppadlist;
+ CvOUTSIDE(compcv) = (CV*)SvREFCNT_inc(caller);
+
SAVEFREESV(compcv);
/* make sure we compile in the right package */