diff --git a/mumble b/mumble index ea890fa..8dddf29 100755 Binary files a/mumble and b/mumble differ diff --git a/src/mumble.c b/src/mumble.c index 4a43387..c43dea9 100644 --- a/src/mumble.c +++ b/src/mumble.c @@ -223,11 +223,12 @@ lispval* pop_lispval(lispval* v, int i) return r; } -lispval* take_lispval(lispval* v, int i){ +lispval* take_lispval(lispval* v, int i){ // Unneeded. lispval* x = pop_lispval(v, i); delete_lispval(v); return x; } + lispval* builtin_op(char* op, lispval* v){ // For now, ensure all args are numbers for(int i=0; icount; i++){ @@ -291,6 +292,7 @@ lispval* evaluate_lispval(lispval* l) if(l->count >=2 && ( (l->cell[0])->type == LISPVAL_SYM)){ lispval* op = pop_lispval(l, 0); lispval* result = builtin_op(op->sym, l); + delete_lispval(op); return result; } return l;