;;;; -*- coding: utf-8; fill-column: 78 -*-
+changes in sbcl-1.0.27 relative to 1.0.26:
+ * bug fix: a type error is signaled for attempts to use the LOOP
+ keyword ACROSS for a NIL value. (thanks to Daniel Lowe)
+
changes in sbcl-1.0.26 relative to 1.0.25:
* incompatible change: an interruption (be it a function passed to
INTERRUPT-THREAD or a timer function) runs in an environment where
;;;; loop types
(defun loop-typed-init (data-type &optional step-var-p)
- (when (and data-type (sb!xc:subtypep data-type 'number))
- (let ((init (if step-var-p 1 0)))
+ (cond
+ ((null data-type)
+ nil)
+ ((sb!xc:subtypep data-type 'number)
+ (let ((init (if step-var-p 1 0)))
(flet ((like (&rest types)
(coerce init (find-if (lambda (type)
(sb!xc:subtypep data-type type))
'(complex long-float)
'(complex float)))
(t
- init))))))
+ init)))))
+ ((sb!xc:subtypep data-type 'vector)
+ (coerce nil data-type))
+ (t
+ nil)))
(defun loop-optional-type (&optional variable)
;; No variable specified implies that no destructuring is permissible.
;;; 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.26.11"
+"1.0.26.12"