(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