tabs(indent);
printf ("%s{", name);
if (frame) {
- for (f = 0; f < frame->num; f++) {
+ for (f = 0; f < ao_lisp_frame_num(frame); f++) {
if (f != 0) {
tabs(indent);
printf(" ");
ao_lisp_poly_print(frame->vals[f].val);
printf("\n");
}
- if (frame->next)
- ao_lisp_error_frame(indent + 1, "next: ", ao_lisp_poly_frame(frame->next));
+ if (frame->prev)
+ ao_lisp_error_frame(indent + 1, "prev: ", ao_lisp_poly_frame(frame->prev));
}
tabs(indent);
printf(" }\n");
"exec",
"cond",
"cond_test",
+ "progn",
};
void
{
struct ao_lisp_stack *s;
printf("Value: "); ao_lisp_poly_print(ao_lisp_v); printf("\n");
- ao_lisp_error_frame(0, "Frame: ", ao_lisp_frame_current);
printf("Stack:\n");
for (s = ao_lisp_stack; s; s = ao_lisp_poly_stack(s->prev)) {
printf("\t[\n");
printf("\t\texpr: "); ao_lisp_poly_print(s->list); printf("\n");
printf("\t\tstate: %s\n", state_names[s->state]);
- printf("\t\tmacro: %s\n", s->macro ? "true" : "false");
+// printf("\t\tmacro: %s\n", s->macro ? "true" : "false");
ao_lisp_error_cons ("sexprs: ", ao_lisp_poly_cons(s->sexprs));
ao_lisp_error_cons ("values: ", ao_lisp_poly_cons(s->values));
ao_lisp_error_frame(2, "frame: ", ao_lisp_poly_frame(s->frame));
- ao_lisp_error_frame(2, "mframe: ", ao_lisp_poly_frame(s->macro_frame));
+// ao_lisp_error_frame(2, "mframe: ", ao_lisp_poly_frame(s->macro_frame));
printf("\t]\n");
}
}