X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=blobdiff_plain;f=src%2Fscheme%2Fao_scheme_rep.c;h=49ab05599ff68464e1ec0b0e07d3239ecbaa2ee4;hp=b35ba5b8da796a21b7f4b2722b52ca468d2f3708;hb=16061947d4376b41e596d87f97ec53ec29d17644;hpb=39df849f0717d92a7d5bdf8aa5904bd4db1b467f diff --git a/src/scheme/ao_scheme_rep.c b/src/scheme/ao_scheme_rep.c index b35ba5b8..49ab0559 100644 --- a/src/scheme/ao_scheme_rep.c +++ b/src/scheme/ao_scheme_rep.c @@ -15,13 +15,15 @@ #include "ao_scheme.h" ao_poly -ao_scheme_read_eval_print(void) +ao_scheme_read_eval_print(FILE *read_file, FILE *write_file, bool interactive) { ao_poly in, out = AO_SCHEME_NIL; ao_scheme_exception = 0; for(;;) { - in = ao_scheme_read(); + if (interactive) + fputs("> ", write_file); + in = ao_scheme_read(read_file); if (in == _ao_scheme_atom_eof) break; out = ao_scheme_eval(in); @@ -30,8 +32,10 @@ ao_scheme_read_eval_print(void) break; ao_scheme_exception = 0; } else { - ao_scheme_poly_write(out, true); - putchar ('\n'); + if (write_file) { + ao_scheme_poly_write(write_file, out, true); + putc('\n', write_file); + } } } return out;