diff options
author | Matthias Andreas Benkard <code@mail.matthias.benkard.de> | 2013-07-11 15:49:39 +0200 |
---|---|---|
committer | Matthias Andreas Benkard <code@mail.matthias.benkard.de> | 2013-07-11 15:49:39 +0200 |
commit | 73afd7d97d388962be4f272fcf476041f18e2e62 (patch) | |
tree | 6c3250064c7e8dc8818cbf8b2faf1dc46aade746 | |
parent | 46582103dcaebac7d095d721a1fcbb9682118b08 (diff) |
M-V-B: Add lexicals to the context.
-rw-r--r-- | sb-eval2.lisp | 5 |
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)))) |