As mentioned above, each vector is
malloc()ed individually, and
all are threaded through the variable
all_vectors. Vectors are
marked strangely during garbage collection, by kludging the size field.
Note that the
struct Lisp_Vector is declared with its
contents field being a stretchy array of one element. It
malloc()ed with the right size, however, and access
to any element through the
contents array works fine.