altos: Escape lisp REP loop with () input
authorKeith Packard <keithp@keithp.com>
Sun, 9 Apr 2017 19:55:34 +0000 (12:55 -0700)
committerKeith Packard <keithp@keithp.com>
Sun, 9 Apr 2017 19:55:34 +0000 (12:55 -0700)
Provide a way to get out of a lisp read-eval-print loop that can be
easily input from the keyboard.

Signed-off-by: Keith Packard <keithp@keithp.com>
src/lisp/ao_lisp_rep.c

index ef7dbaf283db697f0c0e0f0c34e6c5831a0e90ed..3be95d44d89ecda6eaea21b86a715d7fd97b1a9e 100644 (file)
@@ -20,7 +20,7 @@ ao_lisp_read_eval_print(void)
        ao_poly in, out = AO_LISP_NIL;
        for(;;) {
                in = ao_lisp_read();
-               if (in == _ao_lisp_atom_eof)
+               if (in == _ao_lisp_atom_eof || in == AO_LISP_NIL)
                        break;
                out = ao_lisp_eval(in);
                if (ao_lisp_exception) {