summaryrefslogtreecommitdiff
path: root/src/lisp/ao_lisp_error.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_error.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_error.c')
-rw-r--r--src/lisp/ao_lisp_error.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/lisp/ao_lisp_error.c b/src/lisp/ao_lisp_error.c
index d1c9b941..ba135834 100644
--- a/src/lisp/ao_lisp_error.c
+++ b/src/lisp/ao_lisp_error.c
@@ -57,6 +57,7 @@ ao_lisp_error_frame(int indent, char *name, struct ao_lisp_frame *frame)
tabs(indent);
printf ("%s{", name);
if (frame) {
+ struct ao_lisp_frame_vals *vals = ao_lisp_poly_frame_vals(frame->vals);
if (frame->type & AO_LISP_FRAME_PRINT)
printf("recurse...");
else {
@@ -66,9 +67,9 @@ ao_lisp_error_frame(int indent, char *name, struct ao_lisp_frame *frame)
tabs(indent);
printf(" ");
}
- ao_lisp_poly_write(frame->vals[f].atom);
+ ao_lisp_poly_write(vals->vals[f].atom);
printf(" = ");
- ao_lisp_poly_write(frame->vals[f].val);
+ ao_lisp_poly_write(vals->vals[f].val);
printf("\n");
}
if (frame->prev)