summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sb-eval2.lisp8
1 files changed, 6 insertions, 2 deletions
diff --git a/sb-eval2.lisp b/sb-eval2.lisp
index f153590..4097de4 100644
--- a/sb-eval2.lisp
+++ b/sb-eval2.lisp
@@ -458,7 +458,9 @@
(defun lambda-binding-vars (entry)
(etypecase entry
- (cons (list (first entry)
+ (cons (list (etypecase (first entry)
+ (cons (second (first entry)))
+ (symbol (first entry)))
(if (cddr entry)
(third entry)
(gensym))))
@@ -478,7 +480,9 @@
(flet ((keywordify (sym)
(intern (symbol-name sym) "KEYWORD")))
(etypecase entry
- (cons (keywordify (first entry)))
+ (cons (etypecase (first entry)
+ (cons (first (first entry)))
+ (symbol (keywordify (first entry)))))
(symbol (keywordify entry)))))
(declaim (ftype (function (list context) eval-closure) prepare-lambda))