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 8149683a104..e722b53fb72 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -1358,8 +1358,12 @@ A handler is applicable to an error
1358if CONDITION-NAME is one of the error's condition names. 1358if CONDITION-NAME is one of the error's condition names.
1359If an error happens, the first applicable handler is run. 1359If an error happens, the first applicable handler is run.
1360 1360
1361The car of a handler may be a list of condition names 1361The car of a handler may be a list of condition names instead of a
1362instead of a single condition name. Then it handles all of them. 1362single condition name; then it handles all of them. If the special
1363condition name `debug' is present in this list, it allows another
1364condition in the list to run the debugger if `debug-on-error' and the
1365other usual mechanisms says it should (otherwise, `condition-case'
1366suppresses the debugger).
1363 1367
1364When a handler handles an error, control returns to the `condition-case' 1368When a handler handles an error, control returns to the `condition-case'
1365and it executes the handler's BODY... 1369and it executes the handler's BODY...
@@ -1700,6 +1704,10 @@ See also the function `condition-case'. */)
1700 && (!NILP (Vdebug_on_signal) 1704 && (!NILP (Vdebug_on_signal)
1701 /* If no handler is present now, try to run the debugger. */ 1705 /* If no handler is present now, try to run the debugger. */
1702 || NILP (clause) 1706 || NILP (clause)
1707 /* A `debug' symbol in the handler list disables the normal
1708 suppression of the debugger. */
1709 || (CONSP (clause) && CONSP (XCAR (clause))
1710 && !NILP (Fmemq (Qdebug, XCAR (clause))))
1703 /* Special handler that means "print a message and run debugger 1711 /* Special handler that means "print a message and run debugger
1704 if requested". */ 1712 if requested". */
1705 || EQ (h->handler, Qerror))) 1713 || EQ (h->handler, Qerror)))