diff --git a/mumble b/mumble index ac83bd4..aaf1f5b 100755 Binary files a/mumble and b/mumble differ diff --git a/src/mumble.c b/src/mumble.c index 3dcc004..73f3723 100644 --- a/src/mumble.c +++ b/src/mumble.c @@ -816,7 +816,11 @@ lispval* evaluate_lispval(lispval* l, lispenv* env) printfln("Checking if this is a symbol"); if (l->type == LISPVAL_SYM) { // Unclear how I want to structure this so as to not get memory errors. - return get_from_lispenv(l->sym, env); + lispval* answer = get_from_lispenv(l->sym, env); + delete_lispval(l); + // fixes memory bug! I guess that if I just return get_from_lispenv, + // then it gets lost along the way? Not sure. + return answer; } // Evaluate the children if needed