Bläddra i källkod

preven slime from exiting on repl error

master
FelixBrendel 6 år sedan
förälder
incheckning
7559646ada
1 ändrade filer med 12 tillägg och 4 borttagningar
  1. +12
    -4
      src/eval.cpp

+ 12
- 4
src/eval.cpp Visa fil

@@ -584,13 +584,21 @@ namespace Slime {
Lisp_Object* parsed, * evaluated; Lisp_Object* parsed, * evaluated;
while (true) { while (true) {
delete_error();
if (Globals::error) {
log_error();
delete_error();
}
fputs("> ", stdout); fputs("> ", stdout);
line = read_expression(); line = read_expression();
try_void parsed = Parser::parse_single_expression(line);
parsed = Parser::parse_single_expression(line);
if (Globals::error) {
continue;
}
free(line); free(line);
try_void evaluated = eval_expr(parsed);
// try_void evaluated = eval_expr(parsed);
evaluated = eval_expr(parsed);
if (Globals::error) {
continue;
}
if (evaluated && evaluated != Memory::nil) { if (evaluated && evaluated != Memory::nil) {
print(evaluated); print(evaluated);
} }


Laddar…
Avbryt
Spara