Hi Hans,

the position to set the \usesamefloatnumber conditional has to be moved up a few lines
to fix a bug demonstrated by the example below.


\def\tabl_split_loop_body
  {\ifinsidecolumns
   [...]
   \else
     % hack
     \ifdim\pagegoal<\maxdimen
       \pagegoal\dimexpr\pagegoal+\lineheight\relax % etex
     \fi
     % brrr
     \ifdim\ht\tsplitresult>\zeropoint
       \setbox\tsplitresult\vbox
         {\unvbox\tsplitresult
          \tsplitinbetween
          \unvcopy\tsplittail}%
\page_split_float_process{\tsplitbeforeresult\box\tsplitresult\tsplitafterresult}%
       \doifnotinsidesplitfloat\tsplitafter
       \endgraf
+      \global\settrue\usesamefloatnumber
     \fi
     \ifinsidecolumns
       \goodbreak % was \doifnotinsidesplitfloat\goodbreak
     \else
       \page      % was \doifnotinsidesplitfloat\page
     \fi
-    \global\settrue\usesamefloatnumber % new, prevent next increment
   \fi}


%% begin example
\setuplayout[lines=6]

\starttext
    Text
    \startplacetable[location=split]
        \bTABLE \bTR \bTD \input tufte \eTD \eTR \eTABLE
    \stopplacetable
\stoptext
%% end example

Wolfgang
_______________________________________________
dev-context mailing list
dev-context@ntg.nl
https://mailman.ntg.nl/mailman/listinfo/dev-context

Reply via email to