summaryrefslogtreecommitdiff
path: root/src/lisp/ao_lisp_make_const.c
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2017-12-01 18:28:16 +0100
committerKeith Packard <keithp@keithp.com>2017-12-01 18:28:16 +0100
commit98923ae1189f062b8b94120d47a56892db25493f (patch)
treeeb585acd5600f529397077cddbe7edcecfb1d0a3 /src/lisp/ao_lisp_make_const.c
parent835bf4131f9e20575bfdf2179462ebdf54a14761 (diff)
altos/lisp: Split out frame vals from frame struct
This lets the frame be resized without moving the base structure. The plan is to allow all frames to be resized, not just the global frame. Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'src/lisp/ao_lisp_make_const.c')
-rw-r--r--src/lisp/ao_lisp_make_const.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/lisp/ao_lisp_make_const.c b/src/lisp/ao_lisp_make_const.c
index f23d34db..f9bb5452 100644
--- a/src/lisp/ao_lisp_make_const.c
+++ b/src/lisp/ao_lisp_make_const.c
@@ -326,10 +326,11 @@ main(int argc, char **argv)
ao_lisp_collect(AO_LISP_COLLECT_FULL);
for (f = 0; f < ao_lisp_frame_global->num; f++) {
- val = ao_has_macro(ao_lisp_frame_global->vals[f].val);
+ struct ao_lisp_frame_vals *vals = ao_lisp_poly_frame_vals(ao_lisp_frame_global->vals);
+ val = ao_has_macro(vals->vals[f].val);
if (val != AO_LISP_NIL) {
printf("error: function %s contains unresolved macro: ",
- ao_lisp_poly_atom(ao_lisp_frame_global->vals[f].atom)->name);
+ ao_lisp_poly_atom(vals->vals[f].atom)->name);
ao_lisp_poly_write(val);
printf("\n");
exit(1);