From 68c37609769a514a223bcd60c2e8fe0349c6eb3e Mon Sep 17 00:00:00 2001
From: Hans Hagen <pragma@wxs.nl>
Date: Mon, 2 Apr 2012 12:51:00 +0200
Subject: beta 2012.04.02 12:51

---
 tex/context/base/cont-new.mkii                     |   2 +-
 tex/context/base/cont-new.mkiv                     |   2 +-
 tex/context/base/context-version.pdf               | Bin 4075 -> 4074 bytes
 tex/context/base/context-version.png               | Bin 105591 -> 104794 bytes
 tex/context/base/context.mkii                      |   2 +-
 tex/context/base/context.mkiv                      |   2 +-
 tex/context/base/lang-url.mkiv                     |   6 +--
 tex/context/base/page-mbk.mkvi                     |   5 ++-
 tex/context/base/page-one.mkiv                     |   4 +-
 tex/context/base/status-files.pdf                  | Bin 24358 -> 24305 bytes
 tex/context/base/status-lua.pdf                    | Bin 172421 -> 172421 bytes
 tex/context/base/strc-flt.mkvi                     |  46 ++++++++++++++++-----
 tex/context/base/tabl-tbl.mkiv                     |  11 +++--
 tex/generic/context/luatex/luatex-fonts-merged.lua |   2 +-
 14 files changed, 57 insertions(+), 25 deletions(-)

(limited to 'tex')

diff --git a/tex/context/base/cont-new.mkii b/tex/context/base/cont-new.mkii
index 42ab55185..44c0497f9 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.03.30 16:16}
+\newcontextversion{2012.04.02 12:51}
 
 %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 760252db1..cc7e9a239 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.03.30 16:16}
+\newcontextversion{2012.04.02 12:51}
 
 %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 08c15cc14..a89825054 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 971d88184..90b846d3c 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 95495ce1a..55f926bfd 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.03.30 16:16}
+\edef\contextversion{2012.04.02 12:51}
 
 %D For those who want to use this:
 
diff --git a/tex/context/base/context.mkiv b/tex/context/base/context.mkiv
index 67b158a41..29cf2384e 100644
--- a/tex/context/base/context.mkiv
+++ b/tex/context/base/context.mkiv
@@ -23,7 +23,7 @@
 %D up and the dependencies are more consistent.
 
 \edef\contextformat {\jobname}
-\edef\contextversion{2012.03.30 16:16}
+\edef\contextversion{2012.04.02 12:51}
 
 %D For those who want to use this:
 
diff --git a/tex/context/base/lang-url.mkiv b/tex/context/base/lang-url.mkiv
index 8bdf57517..1bbe16838 100644
--- a/tex/context/base/lang-url.mkiv
+++ b/tex/context/base/lang-url.mkiv
@@ -83,9 +83,9 @@
   \let\lang_url_normal\lang_url_normal_trace
   \let\lang_url_disc  \lang_url_disc_trace}
 
-\def\sethyphenatedurlnormal#1{\ctxcommand{hyphenatedurl.setcharacters(\!!bs#1\!!es,0)}}
-\def\sethyphenatedurlbefore#1{\ctxcommand{hyphenatedurl.setcharacters(\!!bs#1\!!es,1)}}
-\def\sethyphenatedurlafter #1{\ctxcommand{hyphenatedurl.setcharacters(\!!bs#1\!!es,2)}}
+\def\sethyphenatedurlnormal#1{\ctxcommand{hyphenatedurl.setcharacters(\!!bs#1\!!es,0)}} % Lua names will change
+\def\sethyphenatedurlbefore#1{\ctxcommand{hyphenatedurl.setcharacters(\!!bs#1\!!es,1)}} % Lua names will change
+\def\sethyphenatedurlafter #1{\ctxcommand{hyphenatedurl.setcharacters(\!!bs#1\!!es,2)}} % Lua names will change
 
 % \sethyphenatedurlafter{ABCDEF}
 
diff --git a/tex/context/base/page-mbk.mkvi b/tex/context/base/page-mbk.mkvi
index ed0b45ad6..68883aa61 100644
--- a/tex/context/base/page-mbk.mkvi
+++ b/tex/context/base/page-mbk.mkvi
@@ -35,6 +35,7 @@
 % status=stop : in text
 %
 % todo: flush margin floats at end of text
+% todo: separate boxes for left and right
 
 \installcorenamespace{marginblock}
 \installcorenamespace{marginblocklocation}
@@ -139,7 +140,7 @@
      \page_margin_prepare_box
      \csname\??marginblocklocation\marginblockparameter\c!location\endcsname
    \else
-     \global\b_page_margin\emptybox
+     \global\setbox\b_page_margin\emptybox
    \fi}
 
 \def\page_margin_prepare_box
@@ -159,6 +160,8 @@
       \box\b_page_margin_prepared
       \marginblockparameter\c!after}}
 
+% inner outer
+
 \setvalue{\??marginblocklocation\v!left    }{\page_margin_set_l_box}
 \setvalue{\??marginblocklocation\v!right   }{\page_margin_set_r_box}
 \setvalue{\??marginblocklocation\v!inmargin}{\doifbothsidesoverruled
diff --git a/tex/context/base/page-one.mkiv b/tex/context/base/page-one.mkiv
index 1a695e157..47780d176 100644
--- a/tex/context/base/page-one.mkiv
+++ b/tex/context/base/page-one.mkiv
@@ -434,7 +434,6 @@
 
 \def\page_one_place_float_left       {\page_one_place_float_side_indeed\page_sides_process_float_left\presetindentation}
 \def\page_one_place_float_right      {\page_one_place_float_side_indeed\page_sides_process_float_right}
-\def\page_one_place_float_margin     {\page_one_place_float_side_indeed\page_sides_process_float_margin\nonoindentation}
 \def\page_one_place_float_leftmargin {\page_one_place_float_side_indeed\page_sides_process_float_leftmargin}
 \def\page_one_place_float_rightmargin{\page_one_place_float_side_indeed\page_sides_process_float_rightmargin}
 \def\page_one_place_float_leftedge   {\page_one_place_float_side_indeed\page_sides_process_float_leftedge}
@@ -443,6 +442,9 @@
 \def\page_one_place_float_backspace  {\page_one_place_float_side_indeed\page_sides_process_float_backspace}
 \def\page_one_place_float_cutspace   {\page_one_place_float_side_indeed\page_sides_process_float_cutspace}
 
+%def\page_one_place_float_margin     {\page_one_place_float_side_indeed\page_sides_process_float_margin\nonoindentation} % wil be overloaded
+\def\page_one_place_float_margin     {\page_margin_process_float}
+
 \def\page_one_place_float_page       {\dofloatssavepagefloat     \s!page     \floatlocationmethod}
 \def\page_one_place_float_leftpage   {\dofloatssavepagefloat     \s!leftpage \floatlocationmethod}
 \def\page_one_place_float_rightpage  {\dofloatssavepagefloat     \s!rightpage\floatlocationmethod}
diff --git a/tex/context/base/status-files.pdf b/tex/context/base/status-files.pdf
index 98002c45c..017e00711 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 ff8034063..f2ace1f36 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/strc-flt.mkvi b/tex/context/base/strc-flt.mkvi
index 4e3edcd02..5dffb34e2 100644
--- a/tex/context/base/strc-flt.mkvi
+++ b/tex/context/base/strc-flt.mkvi
@@ -17,6 +17,13 @@
 
 \unprotect
 
+% todo: delay caption creation and make setups for each method instead
+%       so that we can have a list of methods and redo them as we can
+%       keep the list or even better: recreate it
+%
+% todo: strc_floats_analyze_variables_two could trigger a setup
+%       and we could have nofmethods of them
+
 % Less globals!
 
 %D This module is being converted into a mkvi one.
@@ -595,17 +602,14 @@
 % nicer is a bunch of states and one loop that sets those states
 
 \def\strc_floats_analyze_variables_two
-  {\doifcommonelse
-     {\floatlocation}
-     {\v!left,\v!right,\v!inner,\v!outer,%
-      \v!inleft,\v!inright,\v!inmargin,%
-      \v!backspace,\v!cutspace,%
-      \v!innermargin,\v!outermargin,\v!inneredge,\v!outeredge,%
-      \v!leftmargin,\v!leftedge,\v!rightmargin,\v!rightedge}
-     {\global\parfloattrue}
-     {\global\parfloatfalse}%
-   \ifinsidecolumns
+  {\ifinsidecolumns
      \global\parfloatfalse
+   \else
+     \doifcommonelse
+       {\floatlocation}
+       {\flushfloatslist}
+       {\global\parfloattrue}
+       {\global\parfloatfalse}%
    \fi
    \global\sidefloatshift\zeropoint
    \global\sidefloatmaximum\zeropoint
@@ -776,6 +780,10 @@
   {\iflocalcenterfloatbox
      \seteffectivehsize
      \hsize\localhsize
+   \else
+     \doifinset\v!margin\floatlocation % brr, really needed! see wm will be redone
+       {\let\currentmarginblock\empty
+        \hsize\marginblockparameter\c!width}%
    \fi}
 
 \ifdefined\everyinsidefloat \else \newevery \everyinsidefloat \relax \fi
@@ -1225,7 +1233,8 @@
    \or % manual
    \fi
    \ifcase\floatrotation
-\postcenterfloatbox\d_strc_floats_content
+\doifnotinset\v!margin\floatlocation % brr, really needed! see wm
+  {\postcenterfloatbox\d_strc_floats_content}%
    \else
      \global\setbox\floatbox\vbox
        {\rotate[\c!rotation=\number\floatrotation]{\box\floatbox}}%
@@ -1926,9 +1935,24 @@
      \csname\??floatmethods\currentoutputroutine:\floatmethod\endcsname
    \fi}
 
+\installcorenamespace{floatsettings}
+
 \unexpanded\def\installfloatmethod#1#2#3% routine keyword handler
   {\setvalue{\??floatmethods#1:#2}{#3}}
 
+% \unexpanded\def\installfloatmethod#1#2#3% routine keyword handler
+%   {\ifcsname\??floatsettings#1:#2\endcsname \else
+%      \expandafter\newtoks\csname\??floatsettings#1:#2\endcsname
+%    \fi
+%    \setvalue{\??floatmethods#1:#2}{#3}}
+%
+% \unexpanded\def\startfloatmethodsettings#1#2 #3\stopfloatmethodsettings
+%   {\csname\??floatsettings#1:#2\endcsname\expandafter{\the\csname\??floatsettings#1:#2\endcsname#3}}
+%
+% \let\stopfloatmethodsettings\relax
+%
+% \unexpanded\def\applyfloatmethodsettings#1#2{\the\??floatsettings#1:#2\endcsname}
+
 \definesystemconstant{tblr}
 \definesystemconstant{lrtb}
 \definesystemconstant{tbrl}
diff --git a/tex/context/base/tabl-tbl.mkiv b/tex/context/base/tabl-tbl.mkiv
index f217f1a0a..1857c5a8a 100644
--- a/tex/context/base/tabl-tbl.mkiv
+++ b/tex/context/base/tabl-tbl.mkiv
@@ -628,16 +628,19 @@
   {\t_tabl_tabulate_font{#1}%
    \tabl_tabulate_set_preamble}
 
+\def\tabl_tabulate_pickup_width
+  {\doifnextparenthesiselse\tabl_tabulate_set_width_indeed\tabl_tabulate_set_preamble}
+
 \def\tabl_tabulate_set_width
-  {\c_tabl_tabulate_modus\zerocount
-   \setfalse\c_tabl_tabulate_pwidth_set
-   \doifnextparenthesiselse\tabl_tabulate_set_width_indeed\tabl_tabulate_set_preamble}
+  {\setfalse\c_tabl_tabulate_pwidth_set
+   \c_tabl_tabulate_modus\zerocount
+   \tabl_tabulate_pickup_width}
 
 \def\tabl_tabulate_set_paragraph
   {\doifnextparenthesiselse
      {\c_tabl_tabulate_modus\plusone
       \settrue\c_tabl_tabulate_pwidth_set
-      \tabl_tabulate_set_width}
+      \tabl_tabulate_pickup_width}
      {\c_tabl_tabulate_modus\plustwo
       \setfalse\c_tabl_tabulate_pwidth_set
       \tabl_tabulate_set_preamble}}
diff --git a/tex/generic/context/luatex/luatex-fonts-merged.lua b/tex/generic/context/luatex/luatex-fonts-merged.lua
index ad560c0b1..6db1c6428 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  : 03/30/12 16:16:58
+-- merge date  : 04/02/12 12:51:54
 
 do -- begin closure to overcome local limits and interference
 
-- 
cgit v1.2.3