From: Rafael Garcia-Suarez Date: Sat, 18 May 2002 19:39:42 +0000 (+0000) Subject: perlfunc and perldelta updates about caller(). X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=0fc9dec4af933223b6a0a83a309bdf38c9babab6;p=p5sagit%2Fp5-mst-13.2.git perlfunc and perldelta updates about caller(). p4raw-id: //depot/perl@16683 --- diff --git a/pod/perldelta.pod b/pod/perldelta.pod index 65f4612..7b110fd 100644 --- a/pod/perldelta.pod +++ b/pod/perldelta.pod @@ -1870,7 +1870,9 @@ The autouse pragma didn't work for Multi::Part::Function::Names. =item * caller() could cause core dumps in certain situations. Carp was sometimes -affected by this problem. +affected by this problem. In particular, caller() now returns a +subroutine name of C<(unknown)> for subroutines that have been removed +from the symbol table. =item * diff --git a/pod/perlfunc.pod b/pod/perlfunc.pod index 52de7fd..d5873a4 100644 --- a/pod/perlfunc.pod +++ b/pod/perlfunc.pod @@ -554,11 +554,13 @@ C<$is_require> are set: C<$is_require> is true if the frame is created by a C or C statement, $evaltext contains the text of the C statement. In particular, for an C statement, $filename is C<(eval)>, but $evaltext is undefined. (Note also that -each C statement creates a C frame inside an C) -frame. C<$hasargs> is true if a new instance of C<@_> was set up for the -frame. C<$hints> and C<$bitmask> contain pragmatic hints that the caller -was compiled with. The C<$hints> and C<$bitmask> values are subject to -change between versions of Perl, and are not meant for external use. +each C statement creates a C frame inside an C +frame.) $subroutine may also be C<(unknown)> if this particular +subroutine happens to have been deleted from the symbol table. +C<$hasargs> is true if a new instance of C<@_> was set up for the frame. +C<$hints> and C<$bitmask> contain pragmatic hints that the caller was +compiled with. The C<$hints> and C<$bitmask> values are subject to change +between versions of Perl, and are not meant for external use. Furthermore, when called from within the DB package, caller returns more detailed information: it sets the list variable C<@DB::args> to be the