summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFather Chrysostomos <sprout@cpan.org>2011-11-18 12:42:45 -0800
committerFather Chrysostomos <sprout@cpan.org>2011-11-18 14:58:10 -0800
commit9c7c165124c94d8ec5e4aae6393b20789ac90c10 (patch)
treef6fc40e141e16c0cc0aa08e049cb14b7ec2b7f7b
parentf6dacdcaaefb1af7d8b6d7da1b87001a562f1902 (diff)
downloadperl-9c7c165124c94d8ec5e4aae6393b20789ac90c10.tar.gz
perldelta: fix for $DB::sub with bad subname
-rw-r--r--pod/perldelta.pod10
1 files changed, 10 insertions, 0 deletions
diff --git a/pod/perldelta.pod b/pod/perldelta.pod
index 071b20a173..79f680d0e2 100644
--- a/pod/perldelta.pod
+++ b/pod/perldelta.pod
@@ -649,6 +649,16 @@ at run time, but only during compilation of the $string or required file.
This makes C<BEGIN { $^H{foo}=7 }> equivalent to
C<BEGIN { eval '$^H{foo}=7' }> [perl #70151].
+=item *
+
+When subroutine calls are intercepted by the debugger, the name of the
+subroutine or a reference to it is stored in C<$DB::sub>, for the debugger
+to access. In some cases (such as C<$foo = *bar; undef *bar; &$foo>)
+C<$DB::sub> would be set to a name that could not be used to find the
+subroutine, and so the debugger's attempt to call it would fail. Now the
+check to see whether a reference is needed is more robust, so those
+problems should not happen anymore [rt.cpan.org #69862].
+
=back
=head1 Known Problems