diff options
| author | Gerd Moellmann | 2000-07-07 10:23:51 +0000 |
|---|---|---|
| committer | Gerd Moellmann | 2000-07-07 10:23:51 +0000 |
| commit | 090a072fc19d89419186471ba7e5249eb04a7070 (patch) | |
| tree | 2c1471a9962ab3ef08ea9a4703d9a89e56871b50 /src/eval.c | |
| parent | d7e1fe1f9eb8e77a9e6f432570ef0a089b5a59d9 (diff) | |
| download | emacs-090a072fc19d89419186471ba7e5249eb04a7070.tar.gz emacs-090a072fc19d89419186471ba7e5249eb04a7070.zip | |
(Fsignal): Handle case that backtrace_list is null.
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 | { |