projects
/
fw
/
altos
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
altos/lisp: Separate out values from atoms
[fw/altos]
/
src
/
lisp
/
ao_lisp_eval.c
diff --git
a/src/lisp/ao_lisp_eval.c
b/src/lisp/ao_lisp_eval.c
index 2374fdb2139fadfcaa61bd230fbe01c04c600f67..6eef1f23d148f08c1b5ac4c094be412b472ef209 100644
(file)
--- a/
src/lisp/ao_lisp_eval.c
+++ b/
src/lisp/ao_lisp_eval.c
@@
-91,7
+91,7
@@
ao_lisp_eval(ao_poly v)
case AO_LISP_STRING:
break;
case AO_LISP_ATOM:
case AO_LISP_STRING:
break;
case AO_LISP_ATOM:
- v = ao_lisp_
poly_atom(v)->val
;
+ v = ao_lisp_
atom_get(v)
;
break;
}
break;
}
@@
-187,6
+187,9
@@
ao_lisp_eval(ao_poly v)
DBG("stack pop: actuals"); DBG_CONS(actuals); DBG("\n");
DBG("stack pop: formals"); DBG_CONS(formals); DBG("\n");
} else {
DBG("stack pop: actuals"); DBG_CONS(actuals); DBG("\n");
DBG("stack pop: formals"); DBG_CONS(formals); DBG("\n");
} else {
+ actuals = 0;
+ formals = 0;
+ formals_tail = 0;
DBG("done func\n");
break;
}
DBG("done func\n");
break;
}