This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Fix up outside pointers for my subs
authorFather Chrysostomos <sprout@cpan.org>
Mon, 13 Aug 2012 00:57:35 +0000 (17:57 -0700)
committerFather Chrysostomos <sprout@cpan.org>
Sun, 16 Sep 2012 05:45:06 +0000 (22:45 -0700)
commit0afba48f17ab3a5f576fdfaf4e4fc8671acde2bd
tree561da2665c228349942bed247cd24b41fa0dbc8c
parent8d2a5fb44f375599c14c4c03cdec3954962a2ef5
Fix up outside pointers for my subs

I had not yet fixed Perl_pad_fixup_inner_anons to account for the
fact that my sub prototype CVs are stored in magic attached to
the SV slot in the pad, rather than directly in the pad.  It also
did not like & entries that close over subs defined in outer
or inner subs (‘my sub foo; sub bar; sub bar { &foo } }’ and
‘sub bar; sub bar { my sub foo; sub { sub foo { } } }’ respectively).

This was resulting in assertion failures, unsurprisingly.

Some of the tests I added, which were causing assertion failures, are
now failing for other reasons, and are marked as to-do.
pad.c
t/cmd/lexsub.t