aboutsummaryrefslogtreecommitdiffstats
path: root/src/eval.c
diff options
context:
space:
mode:
authorDmitry Antipov2014-02-10 13:48:17 +0400
committerDmitry Antipov2014-02-10 13:48:17 +0400
commit575593db501105518d4715e4c2e8d637f9e7208a (patch)
tree88052471dbb7ba0ee5c0beceed2ff98059fe71d5 /src/eval.c
parent2b44e4584b8b113a8fbfcca6e8980383a77a9717 (diff)
downloademacs-575593db501105518d4715e4c2e8d637f9e7208a.tar.gz
emacs-575593db501105518d4715e4c2e8d637f9e7208a.zip
* eval.c (call_debugger): When exiting the debugger, do not allow
max_specpdl_size less than actual binding depth (Bug#16603). (syms_of_eval): Adjust docstring.
Diffstat (limited to 'src/eval.c')
-rw-r--r--src/eval.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/eval.c b/src/eval.c
index da68a3014dd..a96d413d09f 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -283,7 +283,9 @@ call_debugger (Lisp_Object arg)
283 bool debug_while_redisplaying; 283 bool debug_while_redisplaying;
284 ptrdiff_t count = SPECPDL_INDEX (); 284 ptrdiff_t count = SPECPDL_INDEX ();
285 Lisp_Object val; 285 Lisp_Object val;
286 EMACS_INT old_max = max_specpdl_size, old_depth = max_lisp_eval_depth; 286 EMACS_INT old_depth = max_lisp_eval_depth;
287 /* Do not allow max_specpdl_size less than actual depth (Bug#16603). */
288 EMACS_INT old_max = max (max_specpdl_size, count);
287 289
288 if (lisp_eval_depth + 40 > max_lisp_eval_depth) 290 if (lisp_eval_depth + 40 > max_lisp_eval_depth)
289 max_lisp_eval_depth = lisp_eval_depth + 40; 291 max_lisp_eval_depth = lisp_eval_depth + 40;
@@ -3721,7 +3723,9 @@ If Lisp code tries to increase the total number past this amount,
3721an error is signaled. 3723an error is signaled.
3722You can safely use a value considerably larger than the default value, 3724You can safely use a value considerably larger than the default value,
3723if that proves inconveniently small. However, if you increase it too far, 3725if that proves inconveniently small. However, if you increase it too far,
3724Emacs could run out of memory trying to make the stack bigger. */); 3726Emacs could run out of memory trying to make the stack bigger.
3727Note that this limit may be silently increased by the debugger
3728if `debug-on-error' or `debug-on-quit' is set. */);
3725 3729
3726 DEFVAR_INT ("max-lisp-eval-depth", max_lisp_eval_depth, 3730 DEFVAR_INT ("max-lisp-eval-depth", max_lisp_eval_depth,
3727 doc: /* Limit on depth in `eval', `apply' and `funcall' before error. 3731 doc: /* Limit on depth in `eval', `apply' and `funcall' before error.