Hi,
when you use extreme tables without a float environment but repeat the
header the table always starts on a new page.
%%%% begin example
\starttext
\samplefile{weisman}
\blank
\startxtable[header=repeat,split=repeat]
\startxtablehead
\startxrow \startxcell Table head \stopxcell \stopxrow
\stopxtablehead
\startxtablebody
\dorecurse{100}{\startxrow \startxcell Table body \stopxcell
\stopxrow}
\stopxtablebody
\stopxtable
\stoptext
%%%% end example
The reason for this is the height set for the part of each page, on the
first page ConTeXt uses a box with the height of \pagegoal forces a page
break because the content doesn't fit.
\setvalue{\??xtableflushsplit\v!repeat}%
{\doloop
{\clf_x_table_flush
method {\v!split}%
height \ifdim\pagegoal=\maxdimen\textheight\else\pagegoal\fi
\relax
\ifcase\c_tabl_x_state
\exitloop
\else
\page
\fi}}
While determining the available space is easy we need a method to ensure
the table stays on the page when the user adds a vertical skip (e.g.
\blank[...]) before the table because this can lead to another page break.
Wolfgang