altos/lisp: Finish first pass through r7rs
[fw/altos] / src / lisp / ao_lisp_rep.c
index ef7dbaf283db697f0c0e0f0c34e6c5831a0e90ed..43cc387f9abb13ce3e36b0b5acf264bd4ca5971c 100644 (file)
@@ -24,9 +24,11 @@ ao_lisp_read_eval_print(void)
                        break;
                out = ao_lisp_eval(in);
                if (ao_lisp_exception) {
+                       if (ao_lisp_exception & AO_LISP_EXIT)
+                               break;
                        ao_lisp_exception = 0;
                } else {
-                       ao_lisp_poly_print(out);
+                       ao_lisp_poly_write(out);
                        putchar ('\n');
                }
        }