diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2019-06-29 18:03:12 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2019-06-29 18:03:12 -0700 |
commit | 875dd9b8d942ba3b84dd8355f431cfde814f626f (patch) | |
tree | 2abfc58f5966ddf293b6a9d74cfeecc481a26952 /share | |
parent | dab203db38bf1ab2eef322c17d317af02c7f5dc1 (diff) | |
download | txr-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.
Diffstat (limited to 'share')
-rw-r--r-- | share/txr/stdlib/keyparams.tl | 6 |
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 |