Fix memory leaks in compiler
diff --git a/src/lisp/lisp.c b/src/lisp/lisp.c
index ac6470d..6299e03 100644
--- a/src/lisp/lisp.c
+++ b/src/lisp/lisp.c
@@ -25,6 +25,7 @@
 
 void add_this_alloc(struct alloc *a, int tag)
 {
+	a->mark = -1;
 	a->type_tag = tag;
 	a->pool = current_pool;
 
@@ -600,6 +601,18 @@
 	a[-1].pool = current_pool;
 }
 
+void del_alloc(struct alloc *alloc)
+{
+	if (alloc->type_tag == CLOSURE_TAG)
+	{
+		fprintf(stderr, "del_alloc closure\n");
+		struct closure_alloc *ca = alloc;
+		free(ca->closure.args);
+	}
+
+	free_aligned(alloc);
+}
+
 int cons_line(value_t val)
 {
 	if (!consp(val))