summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sb-eval2.lisp5
1 files changed, 3 insertions, 2 deletions
diff --git a/sb-eval2.lisp b/sb-eval2.lisp
index 6301be9..c7799e8 100644
--- a/sb-eval2.lisp
+++ b/sb-eval2.lisp
@@ -314,8 +314,9 @@
((multiple-value-bind)
;; FIXME: SPECIAL declarations!
(destructuring-bind (vars value-form &body body) (rest form)
- (let ((value-form* (prepare-form value-form context))
- (body* (prepare-progn body context)))
+ (let* ((value-form* (prepare-form value-form context))
+ (new-context (context-add-lexicals context vars))
+ (body* (prepare-progn body new-context)))
(lambda (env)
(let* ((new-env (make-environment env))
(values (multiple-value-list (funcall value-form* env))))