diff options
-rw-r--r-- | eval.c | 2 | ||||
-rw-r--r-- | txr.1 | 3 |
2 files changed, 3 insertions, 2 deletions
@@ -579,7 +579,7 @@ val lookup_fun(val env, val sym) } else if (car(sym) == macro_s) { return lookup_mac(nil, cadr(sym)); } else if (car(sym) == lambda_s) { - return cons(sym, func_interp(env, sym)); + return cons(sym, func_interp(env, expand(sym, nil))); } else { return nil; } @@ -16996,7 +16996,8 @@ If a .code lambda expression is passed to .codn symbol-function , -then the function implied by that expression is returned. +then the expression is macro-expanded and if that is successful, the function +implied by that expression is returned. It is unspecified whether this function is interpreted or compiled. The |