Przeglądaj źródła

preven slime from exiting on repl error

master
FelixBrendel 6 lat temu
rodzic
commit
7559646ada
1 zmienionych plików z 12 dodań i 4 usunięć
  1. +12
    -4
      src/eval.cpp

+ 12
- 4
src/eval.cpp Wyświetl plik

@@ -584,13 +584,21 @@ namespace Slime {
Lisp_Object* parsed, * evaluated;
while (true) {
delete_error();
if (Globals::error) {
log_error();
delete_error();
}
fputs("> ", stdout);
line = read_expression();
try_void parsed = Parser::parse_single_expression(line);
parsed = Parser::parse_single_expression(line);
if (Globals::error) {
continue;
}
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) {
print(evaluated);
}


Ładowanie…
Anuluj
Zapisz