--- s7.c.orig 2019-11-03 12:05:36.000000000 +0200 +++ s7.c 2019-11-04 12:21:34.000000000 +0200 @@ -96671,14 +96671,18 @@ { char buffer[512]; char response[1024]; - fprintf(stdout, "\n> "); - fgets(buffer, 512, stdin); + printf("\n> "); + if (!fgets(buffer, sizeof(buffer), stdin)) + break; if ((buffer[0] != '\n') || (strlen(buffer) > 1)) { snprintf(response, 1024, "(write %s)", buffer); s7_eval_c_string(sc, response); } } + printf("\n"); + if (ferror(stdin)) + fprintf(stderr, "read error on stdin\n"); } void s7_repl(s7_scheme *sc)