This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Call get-magic on temp returned under recursion
authorFather Chrysostomos <sprout@cpan.org>
Fri, 22 Jul 2011 19:14:28 +0000 (12:14 -0700)
committerFather Chrysostomos <sprout@cpan.org>
Fri, 22 Jul 2011 19:15:02 +0000 (12:15 -0700)
commit862b2c434beb1d61a19037a8449c8db953fd37a0
treea9ccda6228a7cac23655f8e6666e86676557b7a4
parent40914f83eabd350b52615a215aeb2704f7332495
Call get-magic on temp returned under recursion

This fixes a regression introduced in 5.15.0.

Commit 767eda44 made autovivification work with scalars returned from
lvalue subs.  In doing so, as it made entersub an autovivifying op,
it had to add SvGETMAGIC calls to pp_return and pp_leavesub.  (See
767eda44’s commit message for details.)  In one spot in pp_return,
the SvGETMAGIC call was added to the wrong branch of an if/else con-
dition, causing a regression.  Explicitly returning from a recursive
subroutine call in autovivifying context would not call get-magic on
the returned value.
pod/perldelta.pod
pp_ctl.c
t/op/gmagic.t