diff options
author | Matthias Andreas Benkard <code@mail.matthias.benkard.de> | 2013-07-18 01:45:31 +0200 |
---|---|---|
committer | Matthias Andreas Benkard <code@mail.matthias.benkard.de> | 2013-07-18 01:45:31 +0200 |
commit | d5fdb49f7f94145da980287c92d20988e48c9780 (patch) | |
tree | b25897c90f7fb9bdd3ad8a021cac9f07228a4f24 | |
parent | 4286d25f0f050ef873e2043904de86b2a12d6285 (diff) |
PREPARE-LAMBDA: Handle &REST arguments.
-rw-r--r-- | sb-eval2.lisp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/sb-eval2.lisp b/sb-eval2.lisp index ccba6a9..e4529df 100644 --- a/sb-eval2.lisp +++ b/sb-eval2.lisp @@ -380,7 +380,9 @@ for vars = (lambda-binding-vars binding) collect (prepare-form default-value new-context) do (dolist (var vars) - (context-add-env-lexical! new-context var)))) + (context-add-env-lexical! new-context var)) + finally (when restp + (context-add-env-lexical! new-context rest)))) (body* (prepare-progn body new-context)) (unbound (gensym))) (macrolet ((handle-arguments (args env) |