document Perl 5.14.0 fixed $@ clobbering in DESTROY
Jens Berthold [Fri, 14 Jul 2017 11:13:06 +0000 (13:13 +0200)]
This is from PR#8:
- rebased to master
- commits squashed
- links fixed as per Aristotle's comment
- wordwrapped

lib/Try/Tiny.pm

index 7d7a9cd..501b006 100644 (file)
@@ -386,8 +386,10 @@ not yet handled.
 C<$@> must be properly localized before invoking C<eval> in order to avoid this
 issue.
 
-More specifically, C<$@> is clobbered at the beginning of the C<eval>, which
-also makes it impossible to capture the previous error before you die (for
+More specifically,
+L<before Perl version 5.14.0|perl5140delta/"Exception Handling">
+C<$@> was clobbered at the beginning of the C<eval>, which
+also made it impossible to capture the previous error before you die (for
 instance when making exception objects with error stacks).
 
 For this reason C<try> will actually set C<$@> to its previous value (the one
@@ -430,7 +432,7 @@ because due to the previous caveats it may have been unset.
 C<$@> could also be an overloaded error object that evaluates to false, but
 that's asking for trouble anyway.
 
-The classic failure mode is:
+The classic failure mode (fixed in L<Perl 5.14.0|perl5140delta/"Exception Handling">) is:
 
   sub Object::DESTROY {
     eval { ... }