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