altos/lisp: Make read() return eof atom on end of file
[fw/altos] / src / lisp / ao_lisp_rep.c
index d26d270c98af6b67d84f67d7b2afef13476980eb..ef7dbaf283db697f0c0e0f0c34e6c5831a0e90ed 100644 (file)
@@ -20,16 +20,10 @@ ao_lisp_read_eval_print(void)
        ao_poly in, out = AO_LISP_NIL;
        for(;;) {
                in = ao_lisp_read();
-               if (!in)
+               if (in == _ao_lisp_atom_eof)
                        break;
                out = ao_lisp_eval(in);
                if (ao_lisp_exception) {
-                       if (ao_lisp_exception & AO_LISP_OOM)
-                               printf("out of memory\n");
-                       if (ao_lisp_exception & AO_LISP_DIVIDE_BY_ZERO)
-                               printf("divide by zero\n");
-                       if (ao_lisp_exception & AO_LISP_INVALID)
-                               printf("invalid operation\n");
                        ao_lisp_exception = 0;
                } else {
                        ao_lisp_poly_print(out);