]> git.vpit.fr Git - perl/modules/Scope-Upper.git/blobdiff - Changes
This is 0.17
[perl/modules/Scope-Upper.git] / Changes
diff --git a/Changes b/Changes
index cdcf75b32e7992bbc28c92c3287d63e4a681b7e6..43cec7eed7442e4e0c1d77bd2688954c822b1112 100644 (file)
--- a/Changes
+++ b/Changes
@@ -1,5 +1,46 @@
 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.