diff options
Diffstat (limited to 'src/eval.c')
| -rw-r--r-- | src/eval.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/eval.c b/src/eval.c index f3cb1135d2b..3974568329f 100644 --- a/src/eval.c +++ b/src/eval.c | |||
| @@ -2045,9 +2045,11 @@ grow_specpdl () | |||
| 2045 | max_specpdl_size = 400; | 2045 | max_specpdl_size = 400; |
| 2046 | if (specpdl_size >= max_specpdl_size) | 2046 | if (specpdl_size >= max_specpdl_size) |
| 2047 | { | 2047 | { |
| 2048 | if (!NILP (Vdebug_on_error)) | ||
| 2049 | /* Leave room for some specpdl in the debugger. */ | ||
| 2050 | max_specpdl_size = specpdl_size + 100; | ||
| 2048 | Fsignal (Qerror, | 2051 | Fsignal (Qerror, |
| 2049 | Fcons (build_string ("Variable binding depth exceeds max-specpdl-size"), Qnil)); | 2052 | Fcons (build_string ("Variable binding depth exceeds max-specpdl-size"), Qnil)); |
| 2050 | max_specpdl_size *= 2; | ||
| 2051 | } | 2053 | } |
| 2052 | } | 2054 | } |
| 2053 | specpdl_size *= 2; | 2055 | specpdl_size *= 2; |