In perl.git, the branch abigail/deprecation has been updated

<http://perl5.git.perl.org/perl.git/commitdiff/16fe20a9b2665167e0eb747bd583d4497432492f?hp=74e63b106b373194238e686ea79dcc7dd8b36dd1>

- Log -----------------------------------------------------------------
commit 16fe20a9b2665167e0eb747bd583d4497432492f
Author: Abigail <[email protected]>
Date:   Thu Nov 24 13:57:23 2016 +0100

    No longer mention some uses of $SIG {__DIE__} are deprecated.
    
    The C<$SIG{__DIE__}> hook is called even inside an C<eval()>. It was
    never intended to happen this way, but an implementation glitch made
    this possible. This used to be deprecated, as it allowed strange action
    at a distance like rewriting a pending exception in C<$@>. Plans to
    rectify this have been scrapped, as users found that rewriting a
    pending exception is actually a useful feature, and not a bug.
-----------------------------------------------------------------------

Summary of changes:
 pod/perldeprecation.pod | 14 ++++++++++++++
 pod/perlvar.pod         | 13 ++++++-------
 2 files changed, 20 insertions(+), 7 deletions(-)

diff --git a/pod/perldeprecation.pod b/pod/perldeprecation.pod
index 341041e..90861de 100644
--- a/pod/perldeprecation.pod
+++ b/pod/perldeprecation.pod
@@ -227,6 +227,20 @@ These old, perl3-era utilities have been deprecated in 
favour of
 C<< h2xs >> for a long time. In Perl 5.26, they have been removed.
 
 
+=head3 Trapping C<< $SIG {__DIE__} >> other than during program exit.
+
+The C<$SIG{__DIE__}> hook is called even inside an C<eval()>. It was
+never intended to happen this way, but an implementation glitch made
+this possible. This used to be deprecated, as it allowed strange action
+at a distance like rewriting a pending exception in C<$@>. Plans to
+rectify this have been scrapped, as users found that rewriting a
+pending exception is actually a useful feature, and not a bug.
+
+Perl never issued a deprecation warning for this; the deprecation
+was by documentation policy only. But this deprecation has been 
+lifted in Perl 5.26.
+
+
 =head2 Perl 5.24
 
 =head3 Use of C<< *glob{FILEHANDLE} >>
diff --git a/pod/perlvar.pod b/pod/perlvar.pod
index 9c5fda7..b8c68b3 100644
--- a/pod/perlvar.pod
+++ b/pod/perlvar.pod
@@ -659,13 +659,12 @@ or a C<die()>.  The C<__DIE__> handler is explicitly 
disabled during
 the call, so that you can die from a C<__DIE__> handler.  Similarly
 for C<__WARN__>.
 
-Due to an implementation glitch, the C<$SIG{__DIE__}> hook is called
-even inside an C<eval()>.  Do not use this to rewrite a pending
-exception in C<$@>, or as a bizarre substitute for overriding
-C<CORE::GLOBAL::die()>.  This strange action at a distance may be fixed
-in a future release so that C<$SIG{__DIE__}> is only called if your
-program is about to exit, as was the original intent.  Any other use is
-deprecated.
+The C<$SIG{__DIE__}> hook is called even inside an C<eval()>. It was
+never intended to happen this way, but an implementation glitch made
+this possible. This used to be deprecated, as it allowed strange action
+at a distance like rewriting a pending exception in C<$@>. Plans to
+rectify this have been scrapped, as users found that rewriting a 
+pending exception is actually a useful feature, and not a bug.
 
 C<__DIE__>/C<__WARN__> handlers are very special in one respect: they
 may be called to report (probable) errors found by the parser.  In such

--
Perl5 Master Repository

Reply via email to