1.0.27.30: minor octets.lisp cleanup
[sbcl.git] / src / code / loop.lisp
index 565ab9a..6b9a43a 100644 (file)
@@ -916,11 +916,8 @@ code to be loaded.
 ;;;; loop types
 
 (defun loop-typed-init (data-type &optional step-var-p)
-  (cond
-    ((null data-type)
-     nil)
-    ((sb!xc:subtypep data-type 'number)
-     (let ((init (if step-var-p 1 0)))
+  (when (and data-type (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))
@@ -935,11 +932,7 @@ code to be loaded.
                      '(complex long-float)
                      '(complex float)))
               (t
-               init)))))
-    ((sb!xc:subtypep data-type 'vector)
-     (coerce nil data-type))
-    (t
-     nil)))
+               init))))))
 
 (defun loop-optional-type (&optional variable)
   ;; No variable specified implies that no destructuring is permissible.