mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-05-02 21:10:27 +02:00
Stack traces skip RTL boot frames
* libguile/frames.c (frame-previous) * libguile/stacks.c (make-stack): Skip RTL boot frames.
This commit is contained in:
parent
9d87158fdb
commit
361d0de285
2 changed files with 5 additions and 3 deletions
|
@ -334,7 +334,8 @@ SCM_DEFINE (scm_frame_previous, "frame-previous", 1, 0, 0,
|
||||||
SCM_VM_FRAME_OFFSET (frame));
|
SCM_VM_FRAME_OFFSET (frame));
|
||||||
proc = scm_frame_procedure (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;
|
goto again;
|
||||||
else
|
else
|
||||||
return frame;
|
return frame;
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/* A stack holds a frame chain
|
/* 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
|
* This library is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU Lesser General Public License
|
* 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? */
|
/* FIXME: is this even possible? */
|
||||||
if (scm_is_true (frame)
|
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)))
|
&& SCM_PROGRAM_IS_BOOT (scm_frame_procedure (frame)))
|
||||||
frame = scm_frame_previous (frame);
|
frame = scm_frame_previous (frame);
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue