summaryrefslogtreecommitdiffstats
path: root/share
diff options
context:
space:
mode:
Diffstat (limited to 'share')
-rw-r--r--share/txr/stdlib/compiler.tl6
1 files changed, 3 insertions, 3 deletions
diff --git a/share/txr/stdlib/compiler.tl b/share/txr/stdlib/compiler.tl
index d58ed2c3..ab65f46a 100644
--- a/share/txr/stdlib/compiler.tl
+++ b/share/txr/stdlib/compiler.tl
@@ -675,14 +675,14 @@
(mac-param-bind form (op pars . body) form
(let* ((rest-par (nthlast 0 pars))
(fixed-pars (ldiff pars rest-par))
- (need-frame (or fixed-pars rest-par))
lexsyms specials)
(tree-bind (: req-pars raw-opt-pars) (split* fixed-pars
(op where (op eq :)))
(let* ((opt-pars (mapcar [iffi atom list] raw-opt-pars))
- (nenv (if need-frame (new env up env co me) env))
(nreq (len req-pars))
- (nfixed (+ nreq (len opt-pars))))
+ (nfixed (+ nreq (len opt-pars)))
+ (need-frame (or (plusp nfixed) rest-par))
+ (nenv (if need-frame (new env up env co me) env)))
(flet ((spec-sub (sym)
(cond
((special-var-p sym)