X-Git-Url: http://git.vpit.fr/?a=blobdiff_plain;f=Changes;h=9eeadad572da93b6d72fb776e1fd09c034d89764;hb=52e46d61da554bbc0d80d317e07176bb730f3efb;hp=1583649f0c86d7e7ecda433422e4734eaf20491b;hpb=fe6605581cbe68b5935e72c98a8a685379d1f320;p=perl%2Fmodules%2FScope-Upper.git diff --git a/Changes b/Changes index 1583649..9eeadad 100644 --- a/Changes +++ b/Changes @@ -1,5 +1,66 @@ Revision history for Scope-Upper +0.17 2011-10-03 21:45 UTC + + Fix : uplevel() will now use the correct pad when executing its + callback. This fixes at least two issues : + - closures defined inside the uplevel callback can now correctly + access lexicals from inside and outside the callback. + - state variables in the uplevel callback now work properly. + + Fix : It is now generally possible to call goto() in the uplevel'd + code to replace the uplevel stack frame. There are two cases + for which it is still not possible : + - if -D flags were set when running perl (as in "perl -Dt ..."). + - if the perl runloop has been replaced with a custom one by + another module. + If uplevel() detects that the replacement code contains a goto + statement, and is in one of those two cases, then it will refuse + to execute the callback and throw an exception. + Note that this fix implies a run-time overhead of uplevel() + proportional to the size of the the callback in every case + (with a small ratio), and proportional to the size of ALL the + code executed as the result of the uplevel call (including + subroutine calls inside the callback) when a goto statement is + found in the uplevel callback. + + Fix : uplevel() has been taught how to handle XS callbacks properly. + + Fix : The cause of "Attempt to free unreferenced scalar" warnings + when using uplevel() has been addressed. + + Fix : [RT #71212] : build failure on Windows. + The module does no longer rely on calling Perl_cv_clone, which + isn't exported. + Thanks C.H. Kang for reporting. + +0.16 2011-09-03 23:00 UTC + + Add : uplevel($code, @args, $cxt) executes $code with arguments @args + in the upper context pointed by $cxt. + This is an XS version of the well-known uplevel() routine from + Sub::Uplevel. There are a few differences between both + implmentations that are listed in the documentation. + The XS version is roughly 10 times faster than the pure-Perl + version. + +0.15 2011-08-24 14:20 UTC + + Fix : Localizing subroutines in an higher scope will now correctly + update the method cache. + +0.14 2011-02-27 00:00 UTC + + Fix : [RT #64997] : Compatibility with perl 5.13.10. + Thanks Dave Mitchell for the notice. + + Tst : Lengthy tests have been ported to Test::Leaner, making the + whole test suite about 50% faster. + +0.13 2010-12-20 01:00 UTC + + Fix : [RT #61904] : Stack corruption when using unwind() under + Devel::NYTProf. + Thanks Sergey Aleynikov for contributing a fix. + + Fix : [RT #63378] : Compatibility with perl 5.13.8. + Thanks Andreas J. König for bisecting the issue. + + Tst : Threads tests are now only run on perl 5.13.4 and higher. + They could segfault randomly because of what seems to be an + internal bug of Perl, which has been addressed in 5.13.4. + There is also an environment variable that allows you to + forcefully run those tests, but it should be set only for + author testing and not for end users. + 0.12 2010-05-19 00:45 UTC + Fix : Compatibility with perl 5.13. + Fix : Test failures with perl 5.8.0.