aboutsummaryrefslogtreecommitdiffstats
path: root/src/eval.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/eval.c')
-rw-r--r--src/eval.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/src/eval.c b/src/eval.c
index 56842ac99f3..da63f9833a1 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -1328,10 +1328,15 @@ See also the function `condition-case'.")
1328 /* Remember from where signal was called. Skip over the frame for 1328 /* Remember from where signal was called. Skip over the frame for
1329 `signal' itself. If a frame for `error' follows, skip that, 1329 `signal' itself. If a frame for `error' follows, skip that,
1330 too. */ 1330 too. */
1331 bp = backtrace_list->next; 1331 Vsignaling_function = Qnil;
1332 if (bp && bp->function && EQ (*bp->function, Qerror)) 1332 if (backtrace_list)
1333 bp = bp->next; 1333 {
1334 Vsignaling_function = bp && bp->function ? *bp->function : Qnil; 1334 bp = backtrace_list->next;
1335 if (bp && bp->function && EQ (*bp->function, Qerror))
1336 bp = bp->next;
1337 if (bp && bp->function)
1338 Vsignaling_function = *bp->function;
1339 }
1335 1340
1336 for (; handlerlist; handlerlist = handlerlist->next) 1341 for (; handlerlist; handlerlist = handlerlist->next)
1337 { 1342 {