summaryrefslogtreecommitdiff
path: root/module/ice-9/eval.scm
diff options
context:
space:
mode:
Diffstat (limited to 'module/ice-9/eval.scm')
-rw-r--r--module/ice-9/eval.scm5
1 files changed, 5 insertions, 0 deletions
diff --git a/module/ice-9/eval.scm b/module/ice-9/eval.scm
index 454fc4f69..0e02cbc75 100644
--- a/module/ice-9/eval.scm
+++ b/module/ice-9/eval.scm
@@ -304,6 +304,11 @@
(lambda () (eval exp env))
(eval out env)))
+ (('with-fluids (fluids vals . exp))
+ (let* ((fluids (map (lambda (x) (eval x env)) fluids))
+ (vals (map (lambda (x) (eval x env)) vals)))
+ (with-fluids* fluids vals (lambda () (eval exp env)))))
+
(('call/cc proc)
(call/cc (eval proc env)))