From: William Harold Newman Date: Thu, 11 Jul 2002 02:15:04 +0000 (+0000) Subject: 0.7.5.9: X-Git-Url: http://repo.macrolet.net/gitweb/?a=commitdiff_plain;h=19b57ee6640261133a179417c814ca38039e1ab1;p=sbcl.git 0.7.5.9: &REST error-checking fix (cribbed from rtoy's post to cmucl-imp today) --- diff --git a/src/compiler/fndb.lisp b/src/compiler/fndb.lisp index 4d78a8b..f6d9f54 100644 --- a/src/compiler/fndb.lisp +++ b/src/compiler/fndb.lisp @@ -178,7 +178,6 @@ (sb!xc:deftype package-designator () '(or stringable sb!xc:package)) (sb!xc:deftype symbols () '(or list symbol)) -;;; Should allow a package name, I think, tho CLtL II doesn't say so... (defknown gentemp (&optional string package-designator) symbol) (defknown make-package (stringable &key diff --git a/src/compiler/parse-lambda-list.lisp b/src/compiler/parse-lambda-list.lisp index 4c0edaa..2c30e85 100644 --- a/src/compiler/parse-lambda-list.lisp +++ b/src/compiler/parse-lambda-list.lisp @@ -114,7 +114,9 @@ (compiler-error "found garbage in lambda list when expecting ~ a keyword: ~S" arg))))) - + (when (eq state :rest) + (compiler-error "&REST without rest variable")) + (values (required) (optional) restp rest keyp (keys) allowp (aux) morep more-context more-count)))) diff --git a/tests/compiler.pure.lisp b/tests/compiler.pure.lisp index f7e6be0..9eac7fb 100644 --- a/tests/compiler.pure.lisp +++ b/tests/compiler.pure.lisp @@ -136,3 +136,7 @@ ;;; confusion in the assault on 0.7.0, so this expression used to ;;; signal TYPE-ERROR when it found NIL instead of a DEBUG-SOURCE. (eval '(function-lambda-expression #'(lambda (x) x))) + +;;; bug caught and fixed by Raymond Toy cmucl-imp 2002-07-10: &REST +;;; variable is not optional. +(assert (null (ignore-errors (eval '(funcall (lambda (&rest) 12)))))) diff --git a/version.lisp-expr b/version.lisp-expr index 5519d70..e645084 100644 --- a/version.lisp-expr +++ b/version.lisp-expr @@ -18,4 +18,4 @@ ;;; for internal versions, especially for internal versions off the ;;; main CVS branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".) -"0.7.5.8" +"0.7.5.9"