Author: larry Date: Thu Mar 15 14:26:26 2007 New Revision: 14351 Modified: doc/trunk/design/syn/S06.pod
Log: Refinements to context methods. Modified: doc/trunk/design/syn/S06.pod ============================================================================== --- doc/trunk/design/syn/S06.pod (original) +++ doc/trunk/design/syn/S06.pod Thu Mar 15 14:26:26 2007 @@ -13,9 +13,9 @@ Maintainer: Larry Wall <[EMAIL PROTECTED]> Date: 21 Mar 2003 - Last Modified: 14 Mar 2007 + Last Modified: 15 Mar 2007 Number: 6 - Version: 80 + Version: 81 This document summarizes Apocalypse 6, which covers subroutines and the @@ -1808,10 +1808,11 @@ .leave .want .inline - .my + .package .file .line - .subname + .my + .hints The C<.context> and C<.caller> methods work the same as the functions except that they are relative to the context supplied as invocant. @@ -1827,10 +1828,15 @@ The C<.my> method provides access to the lexical namespace in effect at the given dynamic context's current position. It may be used to look -up ordinary lexical variables in that lexical scope (not your lexical -scope) as well as special compiler variables such as C<$?PACKAGE>. -It must not be used to change any lexical variable that is not marked -as C<< context<rw> >>. +up ordinary lexical variables in that lexical scope. It must not be +used to change any lexical variable that is not marked as C<< context<rw> >>. + +The C<.hints> method gives access to a snapshot of compiler symbols in +effect at the point of the call when the call was originally compiled. +(For instance, C<caller.hints('&?ROUTINE')> will give you the caller's +routine object.) Such values are always read-only, though in the +case of some (like the caller's routine above) may return a fixed +object that is nevertheless mutable. =head2 The C<want> function