浏览代码

preven slime from exiting on repl error

master
FelixBrendel 6 年前
父节点
当前提交
7559646ada
共有 1 个文件被更改,包括 12 次插入4 次删除
  1. +12
    -4
      src/eval.cpp

+ 12
- 4
src/eval.cpp 查看文件

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


正在加载...
取消
保存