summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2019-06-29 18:03:12 -0700
committerKaz Kylheku <kaz@kylheku.com>2019-06-29 18:03:12 -0700
commit875dd9b8d942ba3b84dd8355f431cfde814f626f (patch)
tree2abfc58f5966ddf293b6a9d74cfeecc481a26952
parentdab203db38bf1ab2eef322c17d317af02c7f5dc1 (diff)
downloadtxr-875dd9b8d942ba3b84dd8355f431cfde814f626f.tar.gz
txr-875dd9b8d942ba3b84dd8355f431cfde814f626f.tar.bz2
txr-875dd9b8d942ba3b84dd8355f431cfde814f626f.zip
keyparams: use environment for constantp.
* share/txr/stdlib/keyparams.tl (sys:build-key-list): Take macro environment parameter, and pass to constantp. (:key): Pass macro environment to sys:build-key-list.
-rw-r--r--share/txr/stdlib/keyparams.tl6
1 files changed, 3 insertions, 3 deletions
diff --git a/share/txr/stdlib/keyparams.tl b/share/txr/stdlib/keyparams.tl
index 9a4e43a6..7ee2d8f5 100644
--- a/share/txr/stdlib/keyparams.tl
+++ b/share/txr/stdlib/keyparams.tl
@@ -36,8 +36,8 @@
(each ((k keys))
(add (if (memp k args) t)))))
-(defun sys:build-key-list (key-params)
- (let ((constant (group-by [chain second constantp] key-params)))
+(defun sys:build-key-list (key-params menv)
+ (let ((constant (group-by (opip second (constantp @1 menv)) key-params)))
(let ((var-keys (mapcar (ret ^(cons ',(intern (symbol-name (first @1))
'keyword)
,(second @1)))
@@ -83,7 +83,7 @@
(let* ((key-params-p [keep-if third key-params])
(key-vars [mapcar first key-params])
(key-vars-p [mapcar third key-params-p])
- (keys (sys:build-key-list key-params))
+ (keys (sys:build-key-list key-params menv))
(keys-p (mapcar (op intern (symbol-name (first @1)) 'keyword)
key-params-p)))
(list eff-param