environments (‘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)
sys.callreturns a call,
sys.functiona function definition, and
parent.framereturn an environment. For the other functions, see the ‘Details’ section.
.GlobalEnvis 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.framewith the appropriate index.
sys.functionaccept integer values for the argument
which. Non-negative values of
whichare 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.parentreturns the number of the parent frame if
nis 1 (the default), the grandparent if
nis 2, and so on. See also the ‘Note’.
sys.nframereturns an integer, the number of the current frame as described in the first paragraph.
sys.framesgive a pairlist of all the active calls and frames, respectively, and
sys.parentsreturns an integer vector of indices of the parent frames of each of those frames. 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.exitin 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).
evalfor a usage of