things going well
This commit is contained in:
+1
-1
@@ -427,7 +427,7 @@ proc eval_expr(Lisp_Object* node, Environment* env) -> Lisp_Object* {
|
||||
// is done at runtime...). That is why we sometimes have
|
||||
// stray macros fying around, in that case, we expand them
|
||||
// and bake them in, so they do not have to be expanded
|
||||
// later again.
|
||||
// later again. We will call this "lazy macro expansion"
|
||||
if (lispOperator->value.function.type == Function_Type::Macro) {
|
||||
*node = *result;
|
||||
try result = eval_expr(result, env);
|
||||
|
||||
+4
-4
@@ -287,12 +287,12 @@ namespace Memory {
|
||||
// TODO(Felix): If argument is a list (pair), do a FULL copy,
|
||||
|
||||
// we don't copy singleton objects
|
||||
if (
|
||||
n == Memory::nil || n == Memory::t ||
|
||||
if (n == Memory::nil || n == Memory::t ||
|
||||
Memory::get_type(n) == Lisp_Object_Type::Symbol ||
|
||||
Memory::get_type(n) == Lisp_Object_Type::Keyword
|
||||
)
|
||||
Memory::get_type(n) == Lisp_Object_Type::Keyword)
|
||||
{
|
||||
return n;
|
||||
}
|
||||
|
||||
Lisp_Object* target;
|
||||
try target = create_lisp_object();
|
||||
|
||||
Reference in New Issue
Block a user