0.7.5.9:
authorWilliam Harold Newman <william.newman@airmail.net>
Thu, 11 Jul 2002 02:15:04 +0000 (02:15 +0000)
committerWilliam Harold Newman <william.newman@airmail.net>
Thu, 11 Jul 2002 02:15:04 +0000 (02:15 +0000)
&REST error-checking fix (cribbed from rtoy's post to
cmucl-imp today)

src/compiler/fndb.lisp
src/compiler/parse-lambda-list.lisp
tests/compiler.pure.lisp
version.lisp-expr

index 4d78a8b..f6d9f54 100644 (file)
 (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
index 4c0edaa..2c30e85 100644 (file)
               (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))))
 
index f7e6be0..9eac7fb 100644 (file)
 ;;; 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))))))
index 5519d70..e645084 100644 (file)
@@ -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"