tcl7.6 C API - SetRecLmt






NAME

     Tcl_SetRecursionLimit - set maximum allowable nesting  depth
     in interpreter


SYNOPSIS

     #include <tcl.h>

     int
     Tcl_SetRecursionLimit(interp, depth)


ARGUMENTS

     Tcl_Interp   *interp   (in)      Interpreter whose recursion
                                      limit  is  to be set.  Must
                                      be greater than zero.

     int          depth     (in)      New limit for nested  calls
                                      to Tcl_Eval for interp.





DESCRIPTION

     At any given time Tcl enforces a  limit  on  the  number  of
     recursive  calls that may be active for Tcl_Eval and related
     procedures such as Tcl_GlobalEval.   Any  call  to  Tcl_Eval
     that  exceeds  this  depth  is  aborted  with  an error.  By
     default the recursion limit is 1000.

     Tcl_SetRecursionLimit may be  used  to  change  the  maximum
     allowable nesting depth for an interpreter.  The depth argu-
     ment   specifies   a   new    limit    for    interp,    and
     Tcl_SetRecursionLimit  returns  the  old limit.  To read out
     the    old    limit    without    modifying    it,    invoke
     Tcl_SetRecursionDepth with depth equal to 0.

     The Tcl_SetRecursionLimit only sets the size of the Tcl call
     stack:  it cannot by itself prevent stack overflows on the C
     stack being used by the application.  If your machine has  a
     limit  on  the  size of the C stack, you may get stack over-
     flows    before    reaching     the     limit     set     by
     Tcl_SetRecursionLimit.   If  this happens, see if there is a
     mechanism in your system for increasing the maximum size  of
     the C stack.



KEYWORDS

     nesting depth, recursion