X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=src%2Flisp%2Fao_lisp_rep.c;h=43cc387f9abb13ce3e36b0b5acf264bd4ca5971c;hb=cf5729a0bae51172f12fc9ec4339d4e975a45fcc;hp=3be95d44d89ecda6eaea21b86a715d7fd97b1a9e;hpb=9e80b8bd10433ecc6ebe7c295e16b62b3883987d;p=fw%2Faltos diff --git a/src/lisp/ao_lisp_rep.c b/src/lisp/ao_lisp_rep.c index 3be95d44..43cc387f 100644 --- a/src/lisp/ao_lisp_rep.c +++ b/src/lisp/ao_lisp_rep.c @@ -20,13 +20,15 @@ ao_lisp_read_eval_print(void) ao_poly in, out = AO_LISP_NIL; for(;;) { in = ao_lisp_read(); - if (in == _ao_lisp_atom_eof || in == AO_LISP_NIL) + if (in == _ao_lisp_atom_eof) 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'); } }