summaryrefslogtreecommitdiff
path: root/pp_ctl.c
diff options
context:
space:
mode:
authorFather Chrysostomos <sprout@cpan.org>2011-05-30 18:45:26 -0700
committerFather Chrysostomos <sprout@cpan.org>2011-05-30 18:45:26 -0700
commit1ffdc07ca785ef0cec11dad494fa4b9670382300 (patch)
treecfcb218340f886f197de6730fcc50c2374d13854 /pp_ctl.c
parentb6d8be65ce3d63a311da4edee2288074a3750f05 (diff)
downloadperl-1ffdc07ca785ef0cec11dad494fa4b9670382300.tar.gz
Make explicit return in lvalue subs work under recursion
This is something that fa1e92c missed.
Diffstat (limited to 'pp_ctl.c')
-rw-r--r--pp_ctl.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/pp_ctl.c b/pp_ctl.c
index 16386a83f1..4780ead2ac 100644
--- a/pp_ctl.c
+++ b/pp_ctl.c
@@ -2294,7 +2294,7 @@ PP(pp_return)
if (MARK < SP) {
if (popsub2) {
if (cx->blk_sub.cv && CvDEPTH(cx->blk_sub.cv) > 1) {
- if (SvTEMP(TOPs)) {
+ if (lval || SvTEMP(TOPs)) {
*++newsp = SvREFCNT_inc(*SP);
FREETMPS;
sv_2mortal(*newsp);