summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Andreas Benkard <code@mail.matthias.benkard.de>2013-07-11 15:49:39 +0200
committerMatthias Andreas Benkard <code@mail.matthias.benkard.de>2013-07-11 15:49:39 +0200
commit73afd7d97d388962be4f272fcf476041f18e2e62 (patch)
tree6c3250064c7e8dc8818cbf8b2faf1dc46aade746
parent46582103dcaebac7d095d721a1fcbb9682118b08 (diff)
M-V-B: Add lexicals to the context.
-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))))