oracular (3) Tcl_SetRecursionLimit.3tcl.gz

Provided by: tcl8.6-doc_8.6.14+dfsg-1build1_all bug

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  argument  specifies  a  new limit for interp, and Tcl_SetRecursionLimit returns the old limit.  To
       read out the old limit without modifying it, invoke Tcl_SetRecursionLimit 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 overflows 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