* bug fix: bogus type errors from (AREF A (+ POSITIVE-OFFSET N)) under
certain circumstances when N was negative but (+ POSITIVE-OFFSET N)
was non-negative. (lp#622958)
+ * bug fix: DOTIMES accepted literal non-integer reals. (lp#619393, thanks to
+ Roman Marynchak)
changes in sbcl-1.0.42 relative to sbcl-1.0.41
* build changes
;;; ASAP, at the cost of being unable to use the standard
;;; destructuring mechanisms.
(defmacro-mundanely dotimes ((var count &optional (result nil)) &body body)
- (cond ((numberp count)
+ (cond ((integerp count)
`(do ((,var 0 (1+ ,var)))
((>= ,var ,count) ,result)
(declare (type unsigned-byte ,var))
(loop for n from (+ most-positive-fixnum 1) upto (+ most-positive-fixnum 7)
collect (aref table (- n (+ most-positive-fixnum 1)))))))))
(assert (equal '(0 1 2 3 4 5 6) (funcall fun)))))
+
+(with-test (:name :dotimes-non-integer-counter-value)
+ (assert (raises-error? (dotimes (i 8.6)) type-error)))
;;; 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".)
-"1.0.42.2"
+"1.0.42.3"