summaryrefslogtreecommitdiff
path: root/pp_ctl.c
diff options
context:
space:
mode:
authorGurusamy Sarathy <gsar@cpan.org>1999-06-11 20:41:51 +0000
committerGurusamy Sarathy <gsar@cpan.org>1999-06-11 20:41:51 +0000
commitf3aa04c29a85dd63d563ae8e27316ff34501ccd5 (patch)
tree90f53949072970048dc3bd1eedd9045798beabc2 /pp_ctl.c
parentbb53490d97a5ed51902bcf0779766b7e3359f9ff (diff)
downloadperl-f3aa04c29a85dd63d563ae8e27316ff34501ccd5.tar.gz
implement C<use caller 'encoding'>
p4raw-id: //depot/perl@3534
Diffstat (limited to 'pp_ctl.c')
-rw-r--r--pp_ctl.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/pp_ctl.c b/pp_ctl.c
index e253b92cb0..436498fc3d 100644
--- a/pp_ctl.c
+++ b/pp_ctl.c
@@ -1475,7 +1475,7 @@ PP(pp_caller)
if (MAXARG)
count = POPi;
- EXTEND(SP, 6);
+ EXTEND(SP, 7);
for (;;) {
/* we may be in a higher stacklevel, so dig down deeper */
while (cxix < 0 && top_si->si_type != PERLSI_MAIN) {
@@ -1573,6 +1573,11 @@ PP(pp_caller)
Copy(AvALLOC(ary), AvARRAY(PL_dbargs), AvFILLp(ary) + 1 + off, SV*);
AvFILLp(PL_dbargs) = AvFILLp(ary) + off;
}
+ /* XXX only hints propagated via op_private are currently
+ * visible (others are not easily accessible, since they
+ * use the global PL_hints) */
+ PUSHs(sv_2mortal(newSViv((I32)cx->blk_oldcop->op_private &
+ HINT_PRIVATE_MASK)));
RETURN;
}