summaryrefslogtreecommitdiff
path: root/libguile/frames.c
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2013-10-17 23:25:01 +0200
committerAndy Wingo <wingo@pobox.com>2013-10-17 23:25:01 +0200
commit361d0de285587ef4c9f19b9e07c1175424520aa5 (patch)
treeaf528a4ca83d474accc8184abc41bad3f8dd6c37 /libguile/frames.c
parent9d87158fdb1c3159db90911e96d833392a02ff58 (diff)
downloadguile-361d0de285587ef4c9f19b9e07c1175424520aa5.tar.gz
Stack traces skip RTL boot frames
* libguile/frames.c (frame-previous) * libguile/stacks.c (make-stack): Skip RTL boot frames.
Diffstat (limited to 'libguile/frames.c')
-rw-r--r--libguile/frames.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/libguile/frames.c b/libguile/frames.c
index 448a0cbbe..b2973bf67 100644
--- a/libguile/frames.c
+++ b/libguile/frames.c
@@ -334,7 +334,8 @@ SCM_DEFINE (scm_frame_previous, "frame-previous", 1, 0, 0,
SCM_VM_FRAME_OFFSET (frame));
proc = scm_frame_procedure (frame);
- if (SCM_PROGRAM_P (proc) && SCM_PROGRAM_IS_BOOT (proc))
+ if ((SCM_PROGRAM_P (proc) || SCM_RTL_PROGRAM_P (proc))
+ && SCM_PROGRAM_IS_BOOT (proc))
goto again;
else
return frame;