diff options
Diffstat (limited to 'src/eval.c')
| -rw-r--r-- | src/eval.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/eval.c b/src/eval.c index e08a25a31a0..407561082d1 100644 --- a/src/eval.c +++ b/src/eval.c | |||
| @@ -3421,13 +3421,17 @@ Output stream used is value of `standard-output'. */) | |||
| 3421 | else | 3421 | else |
| 3422 | { | 3422 | { |
| 3423 | tem = backtrace_function (pdl); | 3423 | tem = backtrace_function (pdl); |
| 3424 | if (debugger_stack_frame_as_list) | ||
| 3425 | write_string ("("); | ||
| 3424 | Fprin1 (tem, Qnil); /* This can QUIT. */ | 3426 | Fprin1 (tem, Qnil); /* This can QUIT. */ |
| 3425 | write_string ("("); | 3427 | if (!debugger_stack_frame_as_list) |
| 3428 | write_string ("("); | ||
| 3426 | { | 3429 | { |
| 3427 | ptrdiff_t i; | 3430 | ptrdiff_t i; |
| 3428 | for (i = 0; i < backtrace_nargs (pdl); i++) | 3431 | for (i = 0; i < backtrace_nargs (pdl); i++) |
| 3429 | { | 3432 | { |
| 3430 | if (i) write_string (" "); | 3433 | if (i || debugger_stack_frame_as_list) |
| 3434 | write_string(" "); | ||
| 3431 | Fprin1 (backtrace_args (pdl)[i], Qnil); | 3435 | Fprin1 (backtrace_args (pdl)[i], Qnil); |
| 3432 | } | 3436 | } |
| 3433 | } | 3437 | } |
| @@ -3850,6 +3854,10 @@ This is nil when the debugger is called under circumstances where it | |||
| 3850 | might not be safe to continue. */); | 3854 | might not be safe to continue. */); |
| 3851 | debugger_may_continue = 1; | 3855 | debugger_may_continue = 1; |
| 3852 | 3856 | ||
| 3857 | DEFVAR_BOOL ("debugger-stack-frame-as-list", debugger_stack_frame_as_list, | ||
| 3858 | doc: /* Non-nil means display call stack frames as lists. */); | ||
| 3859 | debugger_stack_frame_as_list = 0; | ||
| 3860 | |||
| 3853 | DEFVAR_LISP ("debugger", Vdebugger, | 3861 | DEFVAR_LISP ("debugger", Vdebugger, |
| 3854 | doc: /* Function to call to invoke debugger. | 3862 | doc: /* Function to call to invoke debugger. |
| 3855 | If due to frame exit, args are `exit' and the value being returned; | 3863 | If due to frame exit, args are `exit' and the value being returned; |