summaryrefslogtreecommitdiffstats
path: root/gc.c
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2012-04-03 11:20:41 -0700
committerKaz Kylheku <kaz@kylheku.com>2012-04-03 11:20:41 -0700
commit1ce504148e960fa8fdd3701977786b99a7437f57 (patch)
tree30414fdc38771f8aac55cb880d437f8d1db5a87d /gc.c
parent06ced4e18fd69399e7419a59dbe477e9a92c23e1 (diff)
downloadtxr-1ce504148e960fa8fdd3701977786b99a7437f57.tar.gz
txr-1ce504148e960fa8fdd3701977786b99a7437f57.tar.bz2
txr-1ce504148e960fa8fdd3701977786b99a7437f57.zip
* eval.c (op_modplace): push replaced with mpush (mutating push).
* gc.c (gc_push): New function. * gc.h (gc_push): Declared. * hash.c (pushhash): Use mpush. * lib.c (push): Reverted to unsafe operation. TODO comment replaced with warning. (lazy_flatten_scan): push occurence commented as safe. (lazy_stream_func): Unsafe push replaced with mpush. * lib.h (mpush): New macro.
Diffstat (limited to 'gc.c')
-rw-r--r--gc.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/gc.c b/gc.c
index a644be3a..106daa25 100644
--- a/gc.c
+++ b/gc.c
@@ -561,6 +561,12 @@ void gc_mutated(val obj)
gc();
}
+val gc_push(val obj, val *plist)
+{
+ gc_mutated(obj);
+ return push(obj, plist);
+}
+
#endif
/*