From: Rafael Garcia-Suarez <rgarciasuarez@gmail.com>
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<require> or C<use> statement, $evaltext contains the text of the
 C<eval EXPR> statement.  In particular, for an C<eval BLOCK> statement,
 $filename is C<(eval)>, but $evaltext is undefined.  (Note also that
-each C<use> statement creates a C<require> frame inside an C<eval EXPR>)
-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<use> statement creates a C<require> frame inside an C<eval EXPR>
+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