From 8944481f39d7ee23bfceafd6ea62936bff60c04b Mon Sep 17 00:00:00 2001
From: Marius <mariausol@gmail.com>
Date: Thu, 19 Jul 2012 23:40:14 +0300
Subject: beta 2012.07.19 22:16

---
 tex/context/base/cont-new.mkii                     |   2 +-
 tex/context/base/cont-new.mkiv                     |   2 +-
 tex/context/base/context-version.pdf               | Bin 4085 -> 4083 bytes
 tex/context/base/context-version.png               | Bin 106701 -> 106343 bytes
 tex/context/base/context.mkii                      |   2 +-
 tex/context/base/context.mkiv                      |   2 +-
 tex/context/base/status-files.pdf                  | Bin 24359 -> 24339 bytes
 tex/context/base/status-lua.pdf                    | Bin 184336 -> 184336 bytes
 tex/context/base/tabl-xtb.mkvi                     |  63 +++++++++++++++------
 tex/generic/context/luatex/luatex-fonts-merged.lua |   2 +-
 10 files changed, 52 insertions(+), 21 deletions(-)

diff --git a/tex/context/base/cont-new.mkii b/tex/context/base/cont-new.mkii
index e6b0d555a..4307f908b 100644
--- a/tex/context/base/cont-new.mkii
+++ b/tex/context/base/cont-new.mkii
@@ -11,7 +11,7 @@
 %C therefore copyrighted by \PRAGMA. See mreadme.pdf for
 %C details.
 
-\newcontextversion{2012.07.19 17:52}
+\newcontextversion{2012.07.19 22:16}
 
 %D This file is loaded at runtime, thereby providing an
 %D excellent place for hacks, patches, extensions and new
diff --git a/tex/context/base/cont-new.mkiv b/tex/context/base/cont-new.mkiv
index b7561d9fe..0c5a4f121 100644
--- a/tex/context/base/cont-new.mkiv
+++ b/tex/context/base/cont-new.mkiv
@@ -11,7 +11,7 @@
 %C therefore copyrighted by \PRAGMA. See mreadme.pdf for
 %C details.
 
-\newcontextversion{2012.07.19 17:52}
+\newcontextversion{2012.07.19 22:16}
 
 %D This file is loaded at runtime, thereby providing an
 %D excellent place for hacks, patches, extensions and new
diff --git a/tex/context/base/context-version.pdf b/tex/context/base/context-version.pdf
index 2d139e24e..f7e9cc638 100644
Binary files a/tex/context/base/context-version.pdf and b/tex/context/base/context-version.pdf differ
diff --git a/tex/context/base/context-version.png b/tex/context/base/context-version.png
index dbc393baa..2ec566803 100644
Binary files a/tex/context/base/context-version.png and b/tex/context/base/context-version.png differ
diff --git a/tex/context/base/context.mkii b/tex/context/base/context.mkii
index c59ca3c06..e3aaf557e 100644
--- a/tex/context/base/context.mkii
+++ b/tex/context/base/context.mkii
@@ -20,7 +20,7 @@
 %D your styles an modules.
 
 \edef\contextformat {\jobname}
-\edef\contextversion{2012.07.19 17:52}
+\edef\contextversion{2012.07.19 22:16}
 
 %D For those who want to use this:
 
diff --git a/tex/context/base/context.mkiv b/tex/context/base/context.mkiv
index 94d6d8343..f79983667 100644
--- a/tex/context/base/context.mkiv
+++ b/tex/context/base/context.mkiv
@@ -25,7 +25,7 @@
 %D up and the dependencies are more consistent.
 
 \edef\contextformat {\jobname}
-\edef\contextversion{2012.07.19 17:52}
+\edef\contextversion{2012.07.19 22:16}
 
 %D For those who want to use this:
 
diff --git a/tex/context/base/status-files.pdf b/tex/context/base/status-files.pdf
index 55b3277fe..889326aeb 100644
Binary files a/tex/context/base/status-files.pdf and b/tex/context/base/status-files.pdf differ
diff --git a/tex/context/base/status-lua.pdf b/tex/context/base/status-lua.pdf
index 0919a564f..6520200b5 100644
Binary files a/tex/context/base/status-lua.pdf and b/tex/context/base/status-lua.pdf differ
diff --git a/tex/context/base/tabl-xtb.mkvi b/tex/context/base/tabl-xtb.mkvi
index b5f123f43..ae65acdb7 100644
--- a/tex/context/base/tabl-xtb.mkvi
+++ b/tex/context/base/tabl-xtb.mkvi
@@ -59,8 +59,6 @@
 
 \unprotect
 
-% \def\v!xtable{xtable}
-
 % option=stretch         : equal distribution
 % option={stretch,width} : proportional distribution
 % option={max}           : prefer max over forced width/height
@@ -126,7 +124,7 @@
   % \c!bodyfont=,
     \c!width=\v!fit,
     \c!height=\v!fit,
-    \c!maxwidth=8em,
+    \c!maxwidth=8\emwidth,
     \c!autowidth=\v!yes,              % controls framed
     \c!rulethickness=\linewidth,
     \c!strut=\v!yes,
@@ -139,8 +137,8 @@
   % \c!footer=,
   % \c!header=,
     \c!spaceinbetween=,
-    \c!textwidth=\v!local, % was \hsize,
-    \c!textheight=\vsize,
+    \c!textwidth=\v!local,            % was \hsize,
+    \c!textheight=\vsize,             % used for vertical spread
     \c!distance=\zeropoint,           % individual column
     \c!columndistance=\zeropoint,     % each column (whole table)
     \c!leftmargindistance=\zeropoint, % whole table
@@ -308,15 +306,56 @@
    \else\ifinsidefloat
      \tabl_x_flush_float_normal
    \else
-     \doifelse{\xtableparameter\c!split}\v!yes
-       \tabl_x_flush_flow_split
-       \tabl_x_flush_flow_normal
+     \tabl_x_flush_text_checked
    \fi\fi
    \ctxcommand{x_table_cleanup()}%
    \dostoptagged
    \resetbuffer[\tabl_x_current_buffer]%
    \egroup}
 
+\installcorenamespace{xtableflushsplit}
+
+\def\tabl_x_flush_text_checked
+  {\expandcheckedcsname\??xtableflushsplit{\xtableparameter\c!split}\v!no}
+
+\setvalue{\??xtableflushsplit\v!yes}%
+  {\ctxcommand{x_table_flush{ method = "\v!split" }}}
+
+\setvalue{\??xtableflushsplit\v!no}%
+  {\dontleavehmode % else no leftskip etc
+   \ctxcommand{x_table_flush{ method = "\v!normal" }}}
+
+\setvalue{\??xtableflushsplit\v!repeat}%
+  {\doloop
+     {\ctxcommand{x_table_flush{ method = "\v!split", vsize = \number\ifdim\pagegoal=\maxdimen\textheight\else\pagegoal\fi }}%
+      \ifcase\c_tabl_x_state
+        \exitloop
+      \else
+        \page
+      \fi}}
+
+% \setvalue{\??xtableflushsplit\v!setups}%
+%   {\directsetup{xtable:split:user}}
+%
+% \startsetups[xtable:split:user]
+%     \doloop {
+%         \xtablesplitflush % uses \xtablesplitvsize (a macro)
+%         \ifcase\xtablesplitstate
+%             \exitloop
+%         \else
+%             \page
+%         \fi
+%     }
+% \stopsetups
+%
+% \unexpanded\def\xtablesplitflush
+%   {\ctxcommand{x_table_flush{ method = "\v!split", vsize = \number\dimexpr\xtablesplitvsize\relax}}\relax}
+%
+% \def\xtablesplitvsize
+%   {\ifdim\pagegoal=\maxdimen\textheight\else\pagegoal\fi}
+%
+% \let\xtablesplitstate\c_tabl_x_state
+
 \let\extratxtablesplitheight\zeropoint % might disappear so don't depend on it
 
 \def\tabl_x_flush_float_normal
@@ -331,14 +370,6 @@
    \let\tsplitdirectwidth   \d_tabl_x_final_width
    \handledirecttsplit}
 
-
-\def\tabl_x_flush_flow_normal
-  {\dontleavehmode % else no leftskip etc
-   \ctxcommand{x_table_flush{ method = "\v!normal" }}}
-
-\def\tabl_x_flush_flow_split
-  {\ctxcommand{x_table_flush{ method = "\v!split" }}}
-
 \def\tabl_x_split_splitter#vsize%
   {\setbox\tsplitresult\vbox
      {\ctxcommand{x_table_flush{ method = "\v!split", vsize = \number\dimexpr#vsize }}}%
diff --git a/tex/generic/context/luatex/luatex-fonts-merged.lua b/tex/generic/context/luatex/luatex-fonts-merged.lua
index c29f9563e..de0aaf5a5 100644
--- a/tex/generic/context/luatex/luatex-fonts-merged.lua
+++ b/tex/generic/context/luatex/luatex-fonts-merged.lua
@@ -1,6 +1,6 @@
 -- merged file : luatex-fonts-merged.lua
 -- parent file : luatex-fonts.lua
--- merge date  : 07/19/12 17:52:05
+-- merge date  : 07/19/12 22:16:49
 
 do -- begin closure to overcome local limits and interference
 
-- 
cgit v1.2.3