summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--eval.c2
-rw-r--r--txr.13
2 files changed, 3 insertions, 2 deletions
diff --git a/eval.c b/eval.c
index 7b3a765d..3eea86bc 100644
--- a/eval.c
+++ b/eval.c
@@ -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;
}
diff --git a/txr.1 b/txr.1
index bc9096c4..54ecbcce 100644
--- a/txr.1
+++ b/txr.1
@@ -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