summaryrefslogtreecommitdiff
path: root/libguile/stacks.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/stacks.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/stacks.c')
-rw-r--r--libguile/stacks.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/libguile/stacks.c b/libguile/stacks.c
index c3ea624ce..fd19a492a 100644
--- a/libguile/stacks.c
+++ b/libguile/stacks.c
@@ -1,5 +1,5 @@
/* A stack holds a frame chain
- * Copyright (C) 1996,1997,2000,2001, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Free Software Foundation
+ * Copyright (C) 1996,1997,2000,2001, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 Free Software Foundation
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public License
@@ -276,7 +276,8 @@ SCM_DEFINE (scm_make_stack, "make-stack", 1, 0, 1,
/* FIXME: is this even possible? */
if (scm_is_true (frame)
- && SCM_PROGRAM_P (scm_frame_procedure (frame))
+ && (SCM_PROGRAM_P (scm_frame_procedure (frame))
+ || SCM_RTL_PROGRAM_P (scm_frame_procedure (frame)))
&& SCM_PROGRAM_IS_BOOT (scm_frame_procedure (frame)))
frame = scm_frame_previous (frame);