X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Floop.lisp;h=6b9a43aaaac49e4abef570e68dcff6c0b7f567ed;hb=007bcd5aac2f3a1e714563bd39f7a2db2d0bf7c2;hp=565ab9a467e53df308c478e46028dbb6d94f18ca;hpb=20282f309195a58fd8b79bb2e1b3105da3ad3992;p=sbcl.git diff --git a/src/code/loop.lisp b/src/code/loop.lisp index 565ab9a..6b9a43a 100644 --- a/src/code/loop.lisp +++ b/src/code/loop.lisp @@ -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.