diff options
| author | Chong Yidong | 2008-08-27 20:26:03 +0000 |
|---|---|---|
| committer | Chong Yidong | 2008-08-27 20:26:03 +0000 |
| commit | 48ce8ca74e295d17f876c088caf2faa2cccadc0a (patch) | |
| tree | 826eb55bd7814f055891a88130f2ea067c1e24df /src/eval.c | |
| parent | fe9365b324e443890876fda293c7f0751c184396 (diff) | |
| download | emacs-48ce8ca74e295d17f876c088caf2faa2cccadc0a.tar.gz emacs-48ce8ca74e295d17f876c088caf2faa2cccadc0a.zip | |
(find_handler_clause): Temporarily increase max-lisp-eval-depth while
printing the backtrace buffer, to guarantee that help-mode code can
run.
Diffstat (limited to 'src/eval.c')
| -rw-r--r-- | src/eval.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/eval.c b/src/eval.c index 083cea889f5..6531b977990 100644 --- a/src/eval.c +++ b/src/eval.c | |||
| @@ -1941,16 +1941,18 @@ find_handler_clause (handlers, conditions, sig, data) | |||
| 1941 | { | 1941 | { |
| 1942 | if (!NILP (sig) && wants_debugger (Vstack_trace_on_error, conditions)) | 1942 | if (!NILP (sig) && wants_debugger (Vstack_trace_on_error, conditions)) |
| 1943 | { | 1943 | { |
| 1944 | max_lisp_eval_depth += 15; | ||
| 1944 | max_specpdl_size++; | 1945 | max_specpdl_size++; |
| 1945 | #ifdef PROTOTYPES | 1946 | #ifdef PROTOTYPES |
| 1946 | internal_with_output_to_temp_buffer ("*Backtrace*", | 1947 | internal_with_output_to_temp_buffer ("*Backtrace*", |
| 1947 | (Lisp_Object (*) (Lisp_Object)) Fbacktrace, | 1948 | (Lisp_Object (*) (Lisp_Object)) Fbacktrace, |
| 1948 | Qnil); | 1949 | Qnil); |
| 1949 | #else | 1950 | #else |
| 1950 | internal_with_output_to_temp_buffer ("*Backtrace*", | 1951 | internal_with_output_to_temp_buffer ("*Backtrace*", |
| 1951 | Fbacktrace, Qnil); | 1952 | Fbacktrace, Qnil); |
| 1952 | #endif | 1953 | #endif |
| 1953 | max_specpdl_size--; | 1954 | max_specpdl_size--; |
| 1955 | max_lisp_eval_depth -= 15; | ||
| 1954 | } | 1956 | } |
| 1955 | 1957 | ||
| 1956 | if (!debugger_considered) | 1958 | if (!debugger_considered) |