aboutsummaryrefslogtreecommitdiffstats
path: root/src
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
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')
-rw-r--r--src/ChangeLog3
-rw-r--r--src/eval.c8
2 files changed, 9 insertions, 2 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index f65319c9fe7..fef7cf0e47f 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -8,6 +8,9 @@
8 8
9 * cmds.c (Fself_insert_command): Respect the width of EMACS_INT 9 * cmds.c (Fself_insert_command): Respect the width of EMACS_INT
10 and avoid warning. 10 and avoid warning.
11 * eval.c (call_debugger): When exiting the debugger, do not allow
12 max_specpdl_size less than actual binding depth (Bug#16603).
13 (syms_of_eval): Adjust docstring.
11 14
122014-02-09 Lars Ingebrigtsen <larsi@gnus.org> 152014-02-09 Lars Ingebrigtsen <larsi@gnus.org>
13 16
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.