diff options
author | Andy Wingo <wingo@pobox.com> | 2009-02-05 13:44:06 +0100 |
---|---|---|
committer | Andy Wingo <wingo@pobox.com> | 2009-02-05 13:44:06 +0100 |
commit | 3b9e095b44a618b9e5781adfaa287e14b0f44d03 (patch) | |
tree | 7ca239803d487641aa8d6b91649b71a96dd40762 /libguile/frames.c | |
parent | e06e857c8dc1f9f8c25bc4d3e40ce5bf351753d5 (diff) | |
download | guile-3b9e095b44a618b9e5781adfaa287e14b0f44d03.tar.gz |
fix boot program detection, which in turn makes `make-stack' actually work
* libguile/programs.h (SCM_F_PROGRAM_IS_BOOT, SCM_PROGRAM_IS_BOOT): Flags
for determining if a program is a boot program. It turns out that our
heuristics e.g. in stacks.c would catch non-boot programs, like
programs that end with (goto/args 1), because the 1 is the same byte as
`halt'. That took a while to find...
* libguile/stacks.c (stack_depth, read_frames): Use the new boot prog
macros.
(scm_make_stack): Assert that we read the number of frames that we said
we would.
* libguile/vm.c (really_make_boot_program): Mark boot programs
appropriately.
Diffstat (limited to 'libguile/frames.c')
0 files changed, 0 insertions, 0 deletions