From 875dd9b8d942ba3b84dd8355f431cfde814f626f Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Sat, 29 Jun 2019 18:03:12 -0700 Subject: 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. --- share/txr/stdlib/keyparams.tl | 6 +++--- 1 file 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 -- cgit v1.2.3