summaryrefslogtreecommitdiff
path: root/pp.c
diff options
context:
space:
mode:
authorRobin Houston <robin@cpan.org>2001-03-24 14:33:09 +0000
committerJarkko Hietaniemi <jhi@iki.fi>2001-03-24 16:22:33 +0000
commitb80b6069675e4e4c5169294fdad71ea1b2b85824 (patch)
tree2a1226beaaee30000b660e56be5f41fd13e3a442 /pp.c
parentac5fe96247f4a41c9f94d27f22ec6c765f5c05be (diff)
downloadperl-b80b6069675e4e4c5169294fdad71ea1b2b85824.tar.gz
Re: B::Deparse bug (5.6.0)
Message-ID: <20010324143309.B17734@puffinry.freeserve.co.uk> p4raw-id: //depot/perl@9325
Diffstat (limited to 'pp.c')
-rw-r--r--pp.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/pp.c b/pp.c
index 37a4b25611..c40efef0dc 100644
--- a/pp.c
+++ b/pp.c
@@ -1232,6 +1232,16 @@ PP(pp_repeat)
(void)SvPOK_only_UTF8(TARG);
else
(void)SvPOK_only(TARG);
+
+ if (PL_op->op_private & OPpREPEAT_DOLIST) {
+ /* The parser saw this as a list repeat, and there
+ are probably several items on the stack. But we're
+ in scalar context, and there's no pp_list to save us
+ now. So drop the rest of the items -- robin@kitsite.com
+ */
+ dMARK;
+ SP = MARK;
+ }
PUSHTARG;
}
RETURN;