diff options
author | Father Chrysostomos <sprout@cpan.org> | 2014-11-15 09:56:50 -0800 |
---|---|---|
committer | Father Chrysostomos <sprout@cpan.org> | 2014-11-15 10:58:52 -0800 |
commit | d88d1fe0d14de0ef0ec01efc190c3a77e59a1459 (patch) | |
tree | c5e14b1502776a164a33b62f0272ca81b5c778cc /pad.h | |
parent | c62df97fd6a0ef53562060054f04dfeadb67f5f8 (diff) | |
download | perl-d88d1fe0d14de0ef0ec01efc190c3a77e59a1459.tar.gz |
[perl #115066] Fix wrongly nested ‘use’ deparsing
B::Deparse was incorrectly putting ‘use’ statements and BEGIN blocks
inside other ‘use’ statements containing do-blocks, even if they were
originally outside.
Subroutines (except for cloned closures, which we don’t have to worry
about here) have an OUTSIDE pointer, pointing to the outer sub con-
taining the declaration of the sub in question. So we can check that
to make sure we are putting the sub declaration in the right place.
Not only does this fix the reported case, but it also will allow
sequence numbers in inner subs to be reused by statements in outer
subs, which I may need in a future commit.
Diffstat (limited to 'pad.h')
0 files changed, 0 insertions, 0 deletions