diff options
Diffstat (limited to 'src/eval.c')
| -rw-r--r-- | src/eval.c | 13 |
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 | { |