]> git.vpit.fr Git - perl/modules/Scope-Upper.git/commit
Preserve lexicals across dounwind() calls on perl 5.19.4 and above
authorVincent Pit <vince@profvince.com>
Mon, 9 Sep 2013 17:07:53 +0000 (19:07 +0200)
committerVincent Pit <vince@profvince.com>
Mon, 9 Sep 2013 17:15:04 +0000 (19:15 +0200)
commit75dce157fb6b369c19c2dabc7de370feb0a79ae5
tree716b8f74225486190b82a3437a3e3b4102bfaa4c
parent0441a0ad6e426898c4424b48bff13716b5657757
Preserve lexicals across dounwind() calls on perl 5.19.4 and above

unwind() used to rely on the stack being preserved when dounwind() is
called. However, starting with change 25375124, dounwind() can now call
leave_scope() which will clean up lexicals in the unwinded scopes. We
can work around this by temporarily bumping the refcount of possibly
problematic scalars before calling dounwind().

See also https://rt.perl.org/rt3/Ticket/Display.html?id=119681.
MANIFEST
Upper.xs
t/53-unwind-misc.t [new file with mode: 0644]
t/58-yield-misc.t