summaryrefslogtreecommitdiff
path: root/libguile/modules.c
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2008-09-28 23:09:11 +0200
committerAndy Wingo <wingo@pobox.com>2008-09-28 23:09:11 +0200
commit46d2d6f80ebbb18e787434c4bfe2031f6182f652 (patch)
tree4fa2c6589188d908a7488e83867ea9fc3f7d6dfc /libguile/modules.c
parent877ffa3f9c8b1d58aedff2821ee1811c6f3c3622 (diff)
downloadguile-46d2d6f80ebbb18e787434c4bfe2031f6182f652.tar.gz
allocate variables that are set! on the heap
* module/system/il/ghil.scm (ghil-lookup): So, it turns out this function needed to be split into three: (ghil-var-is-bound?, ghil-var-for-ref!, ghil-var-for-set!): The different facets of ghil-lookup. Amply commented in the source. The difference being that we now allocate variables that are set! on the heap, so that other continuations see their possibly-modified values. (force-heap-allocation!): New helper. * testsuite/Makefile.am: * testsuite/t-call-cc.scm: New test, that variables that are set! are allocated on the heap, so that subsequent modifications are still seen by the continuation. The test was distilled from test 7.3 in r5rs_pitfall.test.
Diffstat (limited to 'libguile/modules.c')
0 files changed, 0 insertions, 0 deletions