|
|
@@ -533,13 +533,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);
|
|
|
}
|
|
|
}
|
|
|
|