aboutsummaryrefslogtreecommitdiffstats
path: root/src/eval.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/eval.c')
-rw-r--r--src/eval.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/eval.c b/src/eval.c
index e37425020c9..372e9954620 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -1357,8 +1357,12 @@ A handler is applicable to an error
1357if CONDITION-NAME is one of the error's condition names. 1357if CONDITION-NAME is one of the error's condition names.
1358If an error happens, the first applicable handler is run. 1358If an error happens, the first applicable handler is run.
1359 1359
1360The car of a handler may be a list of condition names 1360The car of a handler may be a list of condition names instead of a
1361instead of a single condition name. Then it handles all of them. 1361single condition name; then it handles all of them. If the special
1362condition name `debug' is present in this list, it allows another
1363condition in the list to run the debugger if `debug-on-error' and the
1364other usual mechanisms says it should (otherwise, `condition-case'
1365suppresses the debugger).
1362 1366
1363When a handler handles an error, control returns to the `condition-case' 1367When a handler handles an error, control returns to the `condition-case'
1364and it executes the handler's BODY... 1368and it executes the handler's BODY...
@@ -1699,6 +1703,10 @@ See also the function `condition-case'. */)
1699 && (!NILP (Vdebug_on_signal) 1703 && (!NILP (Vdebug_on_signal)
1700 /* If no handler is present now, try to run the debugger. */ 1704 /* If no handler is present now, try to run the debugger. */
1701 || NILP (clause) 1705 || NILP (clause)
1706 /* A `debug' symbol in the handler list disables the normal
1707 suppression of the debugger. */
1708 || (CONSP (clause) && CONSP (XCAR (clause))
1709 && !NILP (Fmemq (Qdebug, XCAR (clause))))
1702 /* Special handler that means "print a message and run debugger 1710 /* Special handler that means "print a message and run debugger
1703 if requested". */ 1711 if requested". */
1704 || EQ (h->handler, Qerror))) 1712 || EQ (h->handler, Qerror)))