Revision history for Scope-Upper 0.12 2010-05-19 00:45 UTC + Fix : Compatibility with perl 5.13. + Fix : Test failures with perl 5.8.0. + Fix : A minor leak of SVs when a non array/hash was passed to localize_elem(). 0.11 2010-04-16 23:20 UTC + Chg : It's now forbiddent to pass a reference to a non-glob variable as the localization target of localize(), localize_elem() and localize_delete(). + Chg : localize_elem() now only accepts localization of arrays or hashs elements. For other types, it used to be a synonym of localize. + Chg : localize_elem() no longer accepts a glob as the target. You now have to specify the variable as a string. This is because it was impossible in this case to handle meaningfully the array or the hash reference passed as the assigned value. + Doc : The synopsys was revamped, and the rest of the documentation was reviewed. + Fix : [RT #55593] : Segfault when localizing hash or array element to different package in different file. Thanks Dagfinn Ilmari Mannsåker for reporting. + Fix : [RT #56301] : reap loses eval context when dying naturally. Thanks Andrew Main for reporting. + Fix : Scope inconsistencies and segfaults when saving several localizations into the same target scope. + Fix : Stop skipping frames as a pop optimization. This caused breakage under the debugger (and most likely outside as well). 0.10 2010-01-18 23:50 UTC + Fix : Properly handle given/when on 5.10. + Fix : Some stack inconsistencies were fixed, though they were unlikely to have an impact on your real-life code. + Fix : Work around Kwalitee test misfailures. 0.09 2009-05-17 20:20 UTC + Add : The new SU_THREADSAFE constant can be used to know whether the module could have been built with thread safety enabled. + Chg : Thread safety is disabled for perl 5.8 on Win32. + Chg : A saner workaround for the "call_sv() during LEAVE clobbers the still used last popped stack element" issue on 5.10. 0.08 2009-04-16 22:50 UTC + Fix : [RT #44204] : Stack corruption with reap(). Thanks Torsten Foertsch for reporting. + Fix : Building with Solaris CC. + Tst : unwind() in threads. 0.07 2009-02-20 00:20 UTC + Chg : The CLONE method will no longer be defined for non-threaded perls. + Doc : Some examples on how to build the target context from the words. + Fix : Some unlikely possible uninitialized reads, indirectly pointed out in a Redhat review request. + Fix : "localize *x, 'y' => $cxt" now matches Perl's behaviour for "local *x = 'y'". + Fix : Miscellanous code cleanups, courtesy of Florian Ragwitz. + Upd : Resources in META.yml. 0.06 2009-01-17 00:05 UTC + Chg : INCOMPATIBLE CHANGE: The level is now absolute and no longer relative to the current frame - we'll call it "context" from now on. You should replace all your raw levels by combinations of words. The old behaviour of "=> $n" can be easily reobtained by using "=> SCOPE($n)". + Fix : As a result of this change, the module now plays nicely with the debugger. 0.05 2009-01-12 18:15 UTC + Fix : Stack mess when using unwind() in scalar context. + Fix : Returning an automatic variable isn't wise, so let's use a context instead. + Doc : Clarifications. + Tst : Stress tests for unwind(). 0.04 2009-01-11 18:40 UTC + Add : unwind(@things, $level), that returns to an upper context. + Add : want_at($level), that gives the wantarray for $level. + Add : Control words, to reliably get the level of the n-th upper subroutine or eval scope. TOPLEVEL was renamed to TOP. + Fix : Tests with 5.6. + Tst : Reordering and factoring some of the stress tests so that they aren't needlessly ran several times. 0.03 2009-01-04 15:55 UTC + Add : localize_delete(), that localize array/hash elements in upper scopes. + Fix : Segfault when localizing array elements with an invalid negative index. 0.02 2008-12-28 18:40 UTC + Doc : Clarifications and improvements. + Fix : Missing compatibility macros. + Fix : Localized nonexistant array elements should be deleted when their time comes so that the array recovers its original length. 0.01 2008-12-26 16:05 UTC First version, released on an unsuspecting world.