summaryrefslogtreecommitdiffstats
path: root/hash.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 /hash.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 'hash.c')
-rw-r--r--hash.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/hash.c b/hash.c
index 384a741d..d0bd4ac5 100644
--- a/hash.c
+++ b/hash.c
@@ -427,7 +427,7 @@ val remhash(val hash, val key)
if (existing) {
val loc = memq(existing, *pchain);
- *pchain = nappend2(ldiff(*pchain, loc), cdr(loc));
+ set(*pchain, nappend2(ldiff(*pchain, loc), cdr(loc)));
h->count--;
bug_unless (h->count >= 0);
}