X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/636a7460c98ebbe224b2df8425fd6793a884b15a..62490a3ad346a2761f742a0bce15e8dd2c337c7f:/lispref/eval.texi diff --git a/lispref/eval.texi b/lispref/eval.texi index fcfde5849d..6a43466af6 100644 --- a/lispref/eval.texi +++ b/lispref/eval.texi @@ -1,6 +1,6 @@ @c -*-texinfo-*- @c This is part of the GNU Emacs Lisp Reference Manual. -@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1998 Free Software Foundation, Inc. +@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1998, 2003, 2004 Free Software Foundation, Inc. @c See the file elisp.texi for copying conditions. @setfilename ../info/eval @node Evaluation, Control Structures, Symbols, Top @@ -314,6 +314,7 @@ perform symbol function indirection explicitly. @c Emacs 19 feature @defun indirect-function function +@anchor{Definition of indirect-function} This function returns the meaning of @var{function} as a function. If @var{function} is a symbol, then it finds @var{function}'s function definition and starts over with that value. If @var{function} is not a @@ -629,8 +630,8 @@ The number of currently active calls to @code{eval} is limited to @code{max-lisp-eval-depth} (see below). @end defun -@anchor{Definition of eval-region} @deffn Command eval-region start end &optional stream read-function +@anchor{Definition of eval-region} This function evaluates the forms in the current buffer in the region defined by the positions @var{start} and @var{end}. It reads forms from the region and calls @code{eval} on them until the end of the region is @@ -673,13 +674,16 @@ output of the output functions is printed in the echo area. @code{eval-current-buffer} is an alias for this command. @end deffn -@anchor{Definition of max-lisp-eval-depth} @defvar max-lisp-eval-depth +@anchor{Definition of max-lisp-eval-depth} This variable defines the maximum depth allowed in calls to @code{eval}, @code{apply}, and @code{funcall} before an error is signaled (with error -message @code{"Lisp nesting exceeds max-lisp-eval-depth"}). This limit, -with the associated error when it is exceeded, is one way that Lisp -avoids infinite recursion on an ill-defined function. +message @code{"Lisp nesting exceeds max-lisp-eval-depth"}). + +This limit, with the associated error when it is exceeded, is one way +Emacs Lisp avoids infinite recursion on an ill-defined function. If +you increase the value of @code{max-lisp-eval-depth} too much, such +code can cause stack overflow instead. @cindex Lisp nesting error The depth limit counts internal uses of @code{eval}, @code{apply}, and