Lexical jumps

This commit is contained in:
2026-09-05 00:58:11 -07:00
parent 8024bcfee3
commit 956297335d
13 changed files with 164 additions and 49 deletions
+2 -2
View File
@@ -373,7 +373,7 @@ static ALWAYS_INLINE void push_optional_argument_to_lexenv(LispVal *spec,
static ALWAYS_INLINE void
push_missing_optional_argument_to_lexenv(LispVal *spec) {
new_lexical_variable(XCAR(spec), Feval(SECOND(spec), Vlexical_environment));
new_lexical_variable(XCAR(spec), eval(SECOND(spec)));
if (!NILP(THIRD(spec))) {
new_lexical_variable(THIRD(spec), Qnil);
}
@@ -449,7 +449,7 @@ LispFunction *coerce_to_function(LispVal *orig_name, LispVal *func) {
if (SYMBOLP(func)) {
fobj = Fsymbol_function(func, Qt);
} else if (CONSP(func) && EQ(XCAR(func), Qlambda)) {
fobj = Feval(func, Vlexical_environment);
fobj = eval(func);
}
if (NILP(fobj)) {
lisp_signal(Qvoid_function_error, LIST(orig_name));