* fixed bug: as reported by Kalle Olavi Niemitalo on #lisp IRC,
don't warn on legal loop code involving more than one aggregate
boolean. (thanks to Nikodemus Siivola)
+ * fixed bug: as reported by Peter Graves on #lisp IRC, passing a NIL
+ in keyword position to MAKE-PACKAGE was not being reported as
+ invalid.
* optimization: rearranged the expansion of various defining macros
so that each expands into only one top-level form in a
:LOAD-TOPLEVEL context; this appears to decrease fasl sizes by
(tests `((eq ,n-key :allow-other-keys)
(setq ,n-allowp ,n-value-temp))))
(tests `(t
- (setq ,n-losep ,n-key))))
+ (setq ,n-losep (list ,n-key)))))
(body
`(when (oddp ,n-count)
(unless allowp
(body `(when (and ,n-losep (not ,n-allowp))
- (%unknown-key-arg-error ,n-losep)))))))
+ (%unknown-key-arg-error (car ,n-losep))))))))
(let ((ep (ir1-convert-lambda-body
`((let ,(temps)
foo)))
error))
+;;; MAKE-PACKAGE (and other &key functions) should signal an error
+;;; when given a NIL key. This is kind of a compiler test really, but
+;;; this'll do as a resting place.
+(handler-case
+ (eval '(make-package "FOO" nil nil))
+ (error () :ok)
+ (:no-error (c) (error "MAKE-PACKAGE succeeded: ~S" c)))
+
;;; success
(sb-ext:quit :unix-status 104)
;;; checkins which aren't released. (And occasionally for internal
;;; versions, especially for internal versions off the main CVS
;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
-"0.8.10.30"
+"0.8.10.31"