These functions provide access to
(‘frames’ in S terminology) associated with functions further
up the calling stack.
sys.call(which = 0) sys.frame(which = 0) sys.nframe() sys.function(which = 0) sys.parent(n = 1)
sys.calls() sys.frames() sys.parents() sys.on.exit() sys.status() parent.frame(n = 1)
the frame number if non-negative, the number of frames to go back if negative.
the number of generations to go back. (See the ‘Details’ section.)
sys.call returns a call,
sys.function a function
parent.frame return an
For the other functions, see the ‘Details’ section.
.GlobalEnv is given number 0 in the list of frames.
Each subsequent function evaluation increases the frame stack by 1
and the call, function definition and the environment for evaluation
of that function are returned by
sys.frame with the appropriate index.
integer values for the argument
which. Non-negative values of
which are frame numbers whereas negative values are
counted back from the frame number of the current evaluation.
The parent frame of a function evaluation is the environment in which
the function was called. It is not necessarily numbered one less than
the frame number of the current evaluation, nor is it the environment
within which the function was defined.
sys.parent returns the
number of the parent frame if
n is 1 (the default), the
n is 2, and so on. See also the ‘Note’.
sys.nframe returns an integer, the number of the current frame
as described in the first paragraph.
sys.frames give a pairlist of all the
active calls and frames, respectively, and
an integer vector of indices of the parent frames of each of those
Notice that even though the
sys.xxx functions (except
sys.status) are interpreted, their contexts are not counted nor
are they reported. There is no access to them.
sys.status() returns a list with components
sys.frames, the results of calls to
those three functions (which this will include the call to
sys.status: see the first example).
sys.on.exit() returns the expression stored for use by
on.exit in the function currently being evaluated.
(Note that this differs from S, which returns a list of expressions
for the current frame and its parents.)
parent.frame(n) is a convenient shorthand for
sys.frame(sys.parent(n)) (implemented slightly more efficiently).
Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988)
The New S Language.
Wadsworth & Brooks/Cole. (Not
eval for a usage of