Parcourir la source

preven slime from exiting on repl error

master
FelixBrendel il y a 6 ans
Parent
révision
7559646ada
1 fichiers modifiés avec 12 ajouts et 4 suppressions
  1. +12
    -4
      src/eval.cpp

+ 12
- 4
src/eval.cpp Voir le fichier

@@ -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);
}


Chargement…
Annuler
Enregistrer