preven slime from exiting on repl error
This commit is contained in:
+12
-4
@@ -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);
|
evaluated = eval_expr(parsed);
|
||||||
// try_void evaluated = eval_expr(parsed);
|
if (Globals::error) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
if (evaluated && evaluated != Memory::nil) {
|
if (evaluated && evaluated != Memory::nil) {
|
||||||
print(evaluated);
|
print(evaluated);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user