summaryrefslogtreecommitdiffstats
path: root/unwind.c
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2012-04-05 00:32:35 -0700
committerKaz Kylheku <kaz@kylheku.com>2012-04-05 00:32:35 -0700
commit1e5d313bafa78885490b3fa0759ba76436917d9b (patch)
tree68abfa7862e4e4dcd199bfde592ca41cee1125f4 /unwind.c
parentd1d2e88fcebad94628f6b65b7420dec8de9b10b5 (diff)
downloadtxr-1e5d313bafa78885490b3fa0759ba76436917d9b.tar.gz
txr-1e5d313bafa78885490b3fa0759ba76436917d9b.tar.bz2
txr-1e5d313bafa78885490b3fa0759ba76436917d9b.zip
Bunch of fixes.
* gc.c (gc_mutated): Return the value. * gc.h (gc_mutated): Declaration updated. * hash.c (remhash): Fix unsafe assignment to use set macro. * lib.c (sort): Fix wrong use of mut macro on the list before it is sorted rather than after. * lib.h (mut): Trivial version of macro updated to return argument. * unwind.c (uw_init): The toplevel environment's match_context should be gc_protected. Though this is probably not used, which is why it has not been a problem.
Diffstat (limited to 'unwind.c')
-rw-r--r--unwind.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/unwind.c b/unwind.c
index 21ca499c..e76ace02 100644
--- a/unwind.c
+++ b/unwind.c
@@ -403,7 +403,9 @@ void uw_continue(uw_frame_t *current, uw_frame_t *cont)
void uw_init(void)
{
- protect(&toplevel_env.ev.func_bindings, &exception_subtypes, (val *) 0);
+ protect(&toplevel_env.ev.func_bindings,
+ &toplevel_env.ev.match_context,
+ &exception_subtypes, (val *) 0);
exception_subtypes = cons(cons(t, nil), exception_subtypes);
uw_register_subtype(type_error_s, error_s);
uw_register_subtype(internal_error_s, error_s);