0.8.0.21
[sbcl.git] / src / code / seq.lisp
index a2c9d66..ec14add 100644 (file)
               ;; (OR STRING BIT-VECTOR)]
               (progn
                 (aver (= (length (array-type-dimensions type)) 1))
-                (let ((etype (type-specifier
-                              (array-type-specialized-element-type type)))
+                (let* ((etype (type-specifier
+                                (array-type-specialized-element-type type)))
+                        (etype (if (eq etype '*) t etype))
                       (type-length (car (array-type-dimensions type))))
                   (unless (or (eq type-length '*)
                               (= type-length length))
 
 (sb!xc:defmacro list-reverse-macro (sequence)
   `(do ((new-list ()))
-       ((atom ,sequence) new-list)
+       ((endp ,sequence) new-list)
      (push (pop ,sequence) new-list)))
 
 ) ; EVAL-WHEN
                (aref ,sequence right-index)))))
 
 (sb!xc:defmacro list-nreverse-macro (list)
-  `(do ((1st (cdr ,list) (if (atom 1st) 1st (cdr 1st)))
+  `(do ((1st (cdr ,list) (if (endp 1st) 1st (cdr 1st)))
        (2nd ,list 1st)
        (3rd '() 2nd))
        ((atom 2nd) 3rd)