summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Andreas Benkard <code@mail.matthias.benkard.de>2013-07-15 15:56:48 +0200
committerMatthias Andreas Benkard <code@mail.matthias.benkard.de>2013-07-15 15:59:49 +0200
commit9a8ab9219e03e04c65b3a465aaeb5c973020a2fb (patch)
tree5f5387dff1b57c8a7e078985276a27ded213527b
parenta2f6a616c648a4cd21908d582d001675ef7ad49e (diff)
LAMBDA: Bail out on complex lambda lists.
Conflicts: sb-eval2.lisp
-rw-r--r--sb-eval2.lisp4
1 files changed, 3 insertions, 1 deletions
diff --git a/sb-eval2.lisp b/sb-eval2.lisp
index f5c3ad8..6b5ffc1 100644
--- a/sb-eval2.lisp
+++ b/sb-eval2.lisp
@@ -455,7 +455,9 @@
(sb-int:parse-lambda-list lambda-list)
(declare (ignorable required optional restp rest keyp keys allowp auxp aux
morep more-context more-count))
- (let* ((argvars lambda-list) ;fixme
+ (when (or optional restp keyp allowp auxp morep)
+ (return-from prepare-lambda (lambda (env) (lambda (&rest args) (error "NYI")))))
+ (let* ((argvars lambda-list) ;fixme
(n (length (the list lambda-list)))
(envp (maybe-closes-over-p `(progn ,@body) argvars))
(new-context (if envp