(defun vector-push-extend* (vector &rest items)
(let ((element-type (array-element-type vector)))
(dolist (item items)
(cond
((typep item element-type) ;; item can be put directly into the
(vector-push-extend item vector))
((typep item `(vector ,element-type)) ;; item should be a vector
(loop
for i across item
do (vector-push-extend i vector)))
(t
(error "Bad type for item ~S." item))))
vector))Source Context