summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorContext Git Mirror Bot <phg42.2a@gmail.com>2016-08-26 16:29:15 +0200
committerContext Git Mirror Bot <phg42.2a@gmail.com>2016-08-26 16:29:15 +0200
commit2146c5714b53b92df35551a989cbe1db7b290829 (patch)
treec5082e64775784c5aee84039b6bf316e75c155a7
parentacf69d3d7873025941544add3ba168b367c84edd (diff)
downloadcontext-2146c5714b53b92df35551a989cbe1db7b290829.tar.gz
2016-08-26 15:40:00
-rw-r--r--metapost/context/base/mpiv/mp-shap.mpiv4
-rw-r--r--tex/context/base/context-version.pdfbin4260 -> 4265 bytes
-rw-r--r--tex/context/base/mkii/mult-de.mkii1
-rw-r--r--tex/context/base/mkii/mult-en.mkii1
-rw-r--r--tex/context/base/mkii/mult-fr.mkii1
-rw-r--r--tex/context/base/mkii/mult-it.mkii1
-rw-r--r--tex/context/base/mkii/mult-nl.mkii1
-rw-r--r--tex/context/base/mkii/mult-pe.mkii1
-rw-r--r--tex/context/base/mkii/mult-ro.mkii1
-rw-r--r--tex/context/base/mkiv/cont-new.mkiv2
-rw-r--r--tex/context/base/mkiv/context.mkiv2
-rw-r--r--tex/context/base/mkiv/font-dsp.lua3
-rw-r--r--tex/context/base/mkiv/mult-def.lua4
-rw-r--r--tex/context/base/mkiv/pack-com.mkiv4
-rw-r--r--tex/context/base/mkiv/publ-imp-apa.mkvi22
-rw-r--r--tex/context/base/mkiv/status-files.pdfbin9238 -> 9133 bytes
-rw-r--r--tex/context/base/mkiv/status-lua.pdfbin369102 -> 369101 bytes
-rw-r--r--tex/context/base/mkiv/strc-flt.mkvi86
-rw-r--r--tex/context/interface/mkii/keys-cs.xml1
-rw-r--r--tex/context/interface/mkii/keys-de.xml1
-rw-r--r--tex/context/interface/mkii/keys-en.xml1
-rw-r--r--tex/context/interface/mkii/keys-fr.xml1
-rw-r--r--tex/context/interface/mkii/keys-it.xml1
-rw-r--r--tex/context/interface/mkii/keys-nl.xml1
-rw-r--r--tex/context/interface/mkii/keys-pe.xml1
-rw-r--r--tex/context/interface/mkii/keys-ro.xml1
-rw-r--r--tex/context/interface/mkiv/i-common-value.xml1
-rw-r--r--tex/context/interface/mkiv/i-context.pdfbin774602 -> 774605 bytes
-rw-r--r--tex/context/interface/mkiv/i-readme.pdfbin60792 -> 60792 bytes
-rw-r--r--tex/context/modules/mkiv/m-steps.lua2
-rw-r--r--tex/context/modules/mkiv/m-steps.mkvi2
-rw-r--r--tex/generic/context/luatex/luatex-fonts-merged.lua5
32 files changed, 115 insertions, 37 deletions
diff --git a/metapost/context/base/mpiv/mp-shap.mpiv b/metapost/context/base/mpiv/mp-shap.mpiv
index 3e885e585..a511ef375 100644
--- a/metapost/context/base/mpiv/mp-shap.mpiv
+++ b/metapost/context/base/mpiv/mp-shap.mpiv
@@ -168,12 +168,12 @@ enddef ;
vardef drawpredefinedshape (expr t, p, lw, lc, fc) =
save pp ;
- if t>1 : % normal shape
+ if t > 1 : % normal shape
path pp ;
pp := some_shape_path(t) xyscaled(bbwidth(p), bbheight(p)) shifted center p ;
fill pp withcolor fc ;
draw pp withpen pencircle scaled lw withcolor lc ;
- elseif t=1 : % background only
+ elseif t = 1 : % background only
path pp ;
pp := fullsquare xyscaled(bbwidth(p), bbheight(p)) shifted center p ;
fill pp withcolor fc ;
diff --git a/tex/context/base/context-version.pdf b/tex/context/base/context-version.pdf
index ffa980a47..858db6a3c 100644
--- a/tex/context/base/context-version.pdf
+++ b/tex/context/base/context-version.pdf
Binary files differ
diff --git a/tex/context/base/mkii/mult-de.mkii b/tex/context/base/mkii/mult-de.mkii
index 483f249ee..9c06b873b 100644
--- a/tex/context/base/mkii/mult-de.mkii
+++ b/tex/context/base/mkii/mult-de.mkii
@@ -169,6 +169,7 @@
\setinterfacevariable{down}{down}
\setinterfacevariable{each}{jede}
\setinterfacevariable{edge}{kante}
+\setinterfacevariable{effective}{effective}
\setinterfacevariable{eight}{acht}
\setinterfacevariable{embed}{embed}
\setinterfacevariable{empty}{leer}
diff --git a/tex/context/base/mkii/mult-en.mkii b/tex/context/base/mkii/mult-en.mkii
index 3519c7f0c..d927b0395 100644
--- a/tex/context/base/mkii/mult-en.mkii
+++ b/tex/context/base/mkii/mult-en.mkii
@@ -169,6 +169,7 @@
\setinterfacevariable{down}{down}
\setinterfacevariable{each}{each}
\setinterfacevariable{edge}{edge}
+\setinterfacevariable{effective}{effective}
\setinterfacevariable{eight}{eight}
\setinterfacevariable{embed}{embed}
\setinterfacevariable{empty}{empty}
diff --git a/tex/context/base/mkii/mult-fr.mkii b/tex/context/base/mkii/mult-fr.mkii
index 79505a9b5..a2ecb7ce5 100644
--- a/tex/context/base/mkii/mult-fr.mkii
+++ b/tex/context/base/mkii/mult-fr.mkii
@@ -169,6 +169,7 @@
\setinterfacevariable{down}{down}
\setinterfacevariable{each}{chaque}
\setinterfacevariable{edge}{bord}
+\setinterfacevariable{effective}{effective}
\setinterfacevariable{eight}{eight}
\setinterfacevariable{embed}{embed}
\setinterfacevariable{empty}{vide}
diff --git a/tex/context/base/mkii/mult-it.mkii b/tex/context/base/mkii/mult-it.mkii
index d78800ccd..22574156e 100644
--- a/tex/context/base/mkii/mult-it.mkii
+++ b/tex/context/base/mkii/mult-it.mkii
@@ -169,6 +169,7 @@
\setinterfacevariable{down}{down}
\setinterfacevariable{each}{ogni}
\setinterfacevariable{edge}{bordo}
+\setinterfacevariable{effective}{effective}
\setinterfacevariable{eight}{eight}
\setinterfacevariable{embed}{embed}
\setinterfacevariable{empty}{vuoto}
diff --git a/tex/context/base/mkii/mult-nl.mkii b/tex/context/base/mkii/mult-nl.mkii
index 1c52835c1..cb5e4a103 100644
--- a/tex/context/base/mkii/mult-nl.mkii
+++ b/tex/context/base/mkii/mult-nl.mkii
@@ -169,6 +169,7 @@
\setinterfacevariable{down}{omlaag}
\setinterfacevariable{each}{elk}
\setinterfacevariable{edge}{rand}
+\setinterfacevariable{effective}{effectief}
\setinterfacevariable{eight}{acht}
\setinterfacevariable{embed}{sluitin}
\setinterfacevariable{empty}{leeg}
diff --git a/tex/context/base/mkii/mult-pe.mkii b/tex/context/base/mkii/mult-pe.mkii
index 3915fd2b9..199cfc5bf 100644
--- a/tex/context/base/mkii/mult-pe.mkii
+++ b/tex/context/base/mkii/mult-pe.mkii
@@ -169,6 +169,7 @@
\setinterfacevariable{down}{down}
\setinterfacevariable{each}{هر}
\setinterfacevariable{edge}{لبه}
+\setinterfacevariable{effective}{effective}
\setinterfacevariable{eight}{eight}
\setinterfacevariable{embed}{embed}
\setinterfacevariable{empty}{تهی}
diff --git a/tex/context/base/mkii/mult-ro.mkii b/tex/context/base/mkii/mult-ro.mkii
index ec19dcf58..cd829c036 100644
--- a/tex/context/base/mkii/mult-ro.mkii
+++ b/tex/context/base/mkii/mult-ro.mkii
@@ -169,6 +169,7 @@
\setinterfacevariable{down}{down}
\setinterfacevariable{each}{fiecare}
\setinterfacevariable{edge}{bordura}
+\setinterfacevariable{effective}{effective}
\setinterfacevariable{eight}{eight}
\setinterfacevariable{embed}{embed}
\setinterfacevariable{empty}{gol}
diff --git a/tex/context/base/mkiv/cont-new.mkiv b/tex/context/base/mkiv/cont-new.mkiv
index 0886f6e81..2f11fa776 100644
--- a/tex/context/base/mkiv/cont-new.mkiv
+++ b/tex/context/base/mkiv/cont-new.mkiv
@@ -11,7 +11,7 @@
%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
%C details.
-\newcontextversion{2016.08.25 14:14}
+\newcontextversion{2016.08.26 15:35}
%D This file is loaded at runtime, thereby providing an excellent place for
%D hacks, patches, extensions and new features.
diff --git a/tex/context/base/mkiv/context.mkiv b/tex/context/base/mkiv/context.mkiv
index 1ca5dbb5e..0806b4977 100644
--- a/tex/context/base/mkiv/context.mkiv
+++ b/tex/context/base/mkiv/context.mkiv
@@ -39,7 +39,7 @@
%D up and the dependencies are more consistent.
\edef\contextformat {\jobname}
-\edef\contextversion{2016.08.25 14:14}
+\edef\contextversion{2016.08.26 15:35}
\edef\contextkind {beta}
%D For those who want to use this:
diff --git a/tex/context/base/mkiv/font-dsp.lua b/tex/context/base/mkiv/font-dsp.lua
index 49d5929f6..1c81e5e22 100644
--- a/tex/context/base/mkiv/font-dsp.lua
+++ b/tex/context/base/mkiv/font-dsp.lua
@@ -53,6 +53,7 @@ local bittest = bit32.btest
local rshift = bit32.rshift
local concat = table.concat
local lower = string.lower
+local copy = table.copy
local sub = string.sub
local strip = string.strip
local tohash = table.tohash
@@ -1698,7 +1699,7 @@ do
flags = d.flags,
-- chain = d.chain,
}
- sublookuplist[nofsublookups] = h
+ sublookuplist[nofsublookups] = copy(h) -- we repack later
sublookuphash[lookupid] = nofsublookups
sublookupcheck[lookupid] = 1
else
diff --git a/tex/context/base/mkiv/mult-def.lua b/tex/context/base/mkiv/mult-def.lua
index 6b55c7626..b6a9c64ee 100644
--- a/tex/context/base/mkiv/mult-def.lua
+++ b/tex/context/base/mkiv/mult-def.lua
@@ -13175,6 +13175,10 @@ return {
["pe"]="لبه",
["ro"]="bordura",
},
+ ["effective"]={
+ ["en"]="effective",
+ ["nl"]="effectief",
+ },
["embed"]={
["en"]="embed",
["nl"]="sluitin",
diff --git a/tex/context/base/mkiv/pack-com.mkiv b/tex/context/base/mkiv/pack-com.mkiv
index c9c3bab4b..74230a099 100644
--- a/tex/context/base/mkiv/pack-com.mkiv
+++ b/tex/context/base/mkiv/pack-com.mkiv
@@ -487,7 +487,7 @@
\let\stopfloatcombination\relax
\def\pack_combinations_start_float[#1][#2]%
- {\vbox\bgroup
+ {\dontleavehmode\vbox\bgroup
%\insidecolumnstrue % trick, forces no centering, todo: proper switch/feature
\postcenterfloatmethod\zerocount
\forcelocalfloats
@@ -496,7 +496,7 @@
\def\pack_combinations_stop_float#1%
{\scratchtoks\emptytoks
\dorecurse\noflocalfloats
- {\appendetoks{\noexpand\getlocalfloat{\recurselevel}}{}\to\scratchtoks}% brrr
+ {\appendetoks{\getlocalfloat{\recurselevel}}{}\to\scratchtoks}% brrr
\expanded{\startcombination[#1]\the\scratchtoks}\stopcombination
\resetlocalfloats
\egroup}
diff --git a/tex/context/base/mkiv/publ-imp-apa.mkvi b/tex/context/base/mkiv/publ-imp-apa.mkvi
index 9492b44e8..6aa589478 100644
--- a/tex/context/base/mkiv/publ-imp-apa.mkvi
+++ b/tex/context/base/mkiv/publ-imp-apa.mkvi
@@ -35,7 +35,11 @@
\c!specification=apa,
\c!otherstext={\btxspace\btxlabeltext{others}},
%c!journalconversion=\v!normal,
- \c!monthconversion=\v!month]
+ \c!monthconversion=\v!month,
+ \c!stopper:initials={. }, % with a (breakable) space
+ \c!separator:names:2={\btxcomma}, % aka namesep - in this namespace
+ \c!separator:names:3={\btxcomma\btxnobreakspace\textampersand\space}, % comma separated list
+ \c!separator:names:4={\btxnobreakspace\textampersand\space}] % last of two, no comma!
% First, define list and rendering parameters
@@ -61,10 +65,7 @@
\c!etallimit=7,
\c!etaldisplay=6,
\c!etaloption=last,
- \c!authorconversion=invertedshort,
- \c!separator:names:2={\btxcomma}, % aka namesep - in this namespace
- \c!separator:names:3={\btxcomma\btxnobreakspace\textampersand\space}, % comma separated list
- \c!separator:names:4={\btxnobreakspace\textampersand\space}] % last of two, no comma!
+ \c!authorconversion=invertedshort]
% First, we define a namespace for a few special fields
@@ -280,7 +281,6 @@
\c!authorconversion=\v!name,
\c!sorttype=normal,
\c!compress=\v!yes, % note that cite sorts only work with compress=yes.
- \c!separator:names:2={\btxcomma},
\c!separator:names:3={\btxcomma\btxlabeltext{and}\space}, % not \textampersand
\c!separator:names:4={\btxspace\btxlabeltext{and}\space}] % not \textampersand
@@ -319,8 +319,8 @@
[\c!left={(},
\c!right={)},
\c!inbetween={\btxcomma},
- \c!separator:names:3={\btxcomma\texampersand\space},
- \c!separator:names:4={\btxspace\texampersand\space}]
+ \c!separator:names:3={\btxcomma\textampersand\space},
+ \c!separator:names:4={\btxspace\textampersand\space}]
\definebtx
[apa:\s!cite:default]
@@ -329,7 +329,7 @@
\definebtx
[apa:\s!cite:authoryears]
[apa:\s!cite:author]
- [\c!left=,
+ [\c!left=, % these two settings are perhaps redundant?
\c!right=,
\c!inbetween={\btxspace}]
@@ -337,7 +337,9 @@
[apa:\s!cite:authornum]
[apa:\s!cite:author]
[\c!left={(},
- \c!right={)}]
+ \c!right={)},
+ \c!separator:names:3={\btxcomma\textampersand\space},
+ \c!separator:names:4={\btxspace\textampersand\space}]
\definebtx
[apa:\s!cite:author:num] % todo
diff --git a/tex/context/base/mkiv/status-files.pdf b/tex/context/base/mkiv/status-files.pdf
index 50eaedba1..1161e801c 100644
--- a/tex/context/base/mkiv/status-files.pdf
+++ b/tex/context/base/mkiv/status-files.pdf
Binary files differ
diff --git a/tex/context/base/mkiv/status-lua.pdf b/tex/context/base/mkiv/status-lua.pdf
index 61861f2bd..b44dd4cd6 100644
--- a/tex/context/base/mkiv/status-lua.pdf
+++ b/tex/context/base/mkiv/status-lua.pdf
Binary files differ
diff --git a/tex/context/base/mkiv/strc-flt.mkvi b/tex/context/base/mkiv/strc-flt.mkvi
index 90294cf38..e28039716 100644
--- a/tex/context/base/mkiv/strc-flt.mkvi
+++ b/tex/context/base/mkiv/strc-flt.mkvi
@@ -744,7 +744,7 @@
\global\setfalse\c_strc_floats_par_float
\else
\doifelsecommon\floatlocation\flushfloatslist
- {\global\settrue \c_strc_floats_par_float}
+ {\global\settrue \c_strc_floats_par_float}%
{\global\setfalse\c_strc_floats_par_float}%
\fi
\global\d_page_sides_shift \zeropoint
@@ -779,21 +779,26 @@
\global\advance\d_page_sides_bottomskip\floatparameter\c!bottomoffset
\else
\processallactionsinset
- [\floatlocation]
+ [\floatlocation]%
[ 90=>\global\c_strc_floats_rotation\commalistelement\relax,%
180=>\global\c_strc_floats_rotation\commalistelement\relax,%
270=>\global\c_strc_floats_rotation\commalistelement\relax]%
\fi
\doifelseinset\v!nonumber\floatlocation
- {\global\nofloatnumbertrue}
+ {\global\nofloatnumbertrue}%
{\doifelse{\floatcaptionparameter\c!number}\v!yes
- {\global\nofloatnumberfalse}
+ {\global\nofloatnumberfalse}%
{\global\nofloatnumbertrue}}%
\doifelseinset\v!none\floatlocation
- {\global\nofloatcaptiontrue}
+ {\global\nofloatcaptiontrue}%
{\global\nofloatcaptionfalse}%
\doif{\floatcaptionparameter\c!number}\v!none % new
{\global\nofloatcaptiontrue}%
+ \doifinset\v!effective\floatlocation
+ {\letfloatparameter \c!leftmargin \effectiveleftskip
+ \letfloatparameter \c!rightmargin\effectiverightskip
+ \letfloatcaptionparameter\c!leftmargin \effectiveleftskip
+ \letfloatcaptionparameter\c!rightmargin\effectiverightskip}%
\ifemptyfloatcaption \ifnofloatnumber
\global\nofloatcaptiontrue
\fi \fi}
@@ -1309,20 +1314,66 @@
% minwidth=fit,width=max : no overshoot, as wide as graphic
+% keep these as reference:
+%
+% \def\strc_floats_align_content_indeed
+% {\alignstrutmode\zerocount
+% \doifnotcommon{\floatcaptionparameter\c!location}{\v!outermargin,\v!innermargin,\v!leftmargin,\v!rightmargin}
+% {\shiftalignedline
+% {\floatparameter\c!leftmargin }{\floatparameter\c!rightmargin}%
+% {\floatparameter\c!innermargin}{\floatparameter\c!outermargin}}%
+% \alignedline{\floatparameter\c!location}\v!middle}
+%
+% \def\strc_floats_align_caption_indeed
+% {\alignstrutmode\zerocount
+% \shiftalignedline
+% {\floatcaptionparameter\c!leftmargin }{\floatcaptionparameter\c!rightmargin}%
+% {\floatcaptionparameter\c!innermargin}{\floatcaptionparameter\c!outermargin}%
+% \alignedline{\floatparameter\c!location}\v!middle}
+%
+% Test case:
+%
+% \setupfloats[location=left]
+% \setupfloatcaption[width=max]
+%
+% \startfloatcombination
+% \placefigure{}{}
+% \placefigure{}{}
+% \stopfloatcombination
+
+%D In a floatcombination we ignore the margins .. if that is ever needed we need another
+%D state (instead of local).
+
+\def\strc_floats_align_indeed
+ {\alignedline{\floatparameter\c!location}\v!middle}
+
+\def\strc_floats_shift_indeed#1%
+ {\shiftalignedline{#1\c!leftmargin}{#1\c!rightmargin}{#1\c!innermargin}{#1\c!outermargin}}
+
\def\strc_floats_align_content_indeed
{\alignstrutmode\zerocount
- \doifnotcommon{\floatcaptionparameter\c!location}{\v!outermargin,\v!innermargin,\v!leftmargin,\v!rightmargin}
- {\shiftalignedline
- {\floatparameter\c!leftmargin }{\floatparameter\c!rightmargin}%
- {\floatparameter\c!innermargin}{\floatparameter\c!outermargin}}%
- \alignedline{\floatparameter\c!location}\v!middle}
+ \ifx\forcedfloatmethod\v!local \else
+ \doifnotcommon{\floatcaptionparameter\c!location}{\v!outermargin,\v!innermargin,\v!leftmargin,\v!rightmargin}
+ {\strc_floats_shift_indeed\floatparameter}%
+ \expandafter\strc_floats_align_indeed
+ \fi}
\def\strc_floats_align_caption_indeed
{\alignstrutmode\zerocount
- \shiftalignedline
- {\floatcaptionparameter\c!leftmargin }{\floatcaptionparameter\c!rightmargin}%
- {\floatcaptionparameter\c!innermargin}{\floatcaptionparameter\c!outermargin}%
- \alignedline{\floatparameter\c!location}\v!middle}
+ \ifx\forcedfloatmethod\v!local
+ \expandafter\strc_floats_align_indeed_local
+ \else
+ \strc_floats_shift_indeed\floatcaptionparameter
+ \expandafter\strc_floats_align_indeed
+ \fi}
+
+% \def\strc_floats_align_indeed_local#1%
+% {\begingroup
+% \hsize\wd\floatbox
+% \strc_floats_align_indeed{#1}%
+% \endgroup}
+
+\let\strc_floats_align_indeed_local\firstofoneargument
\newdimen\d_strc_floats_content
\newdimen\d_strc_float_temp_height
@@ -1896,7 +1947,7 @@
% test \placefigure{} {\externalfigure[cow.pdf][frame=on,grid=depth]} test \page
% test \placefigure{\input zapf\relax}{\externalfigure[cow.pdf][frame=on,grid=depth]} test \page
% \stoptext
-
+
% This might move to page-flt:
\newif\ifpostponecolumnfloats \postponecolumnfloatsfalse % don't change
@@ -1979,11 +2030,12 @@
\def\strc_floats_prepare_side_caption_fit % or center when smaller
{\ifdim\wd\b_strc_floats_caption>\wd\b_strc_floats_content\relax
- \setbox\b_strc_floats_caption\vbox
+ \setbox\b_strc_floats_caption\vbox
{\forgetall % needed?
\hsize\wd\b_strc_floats_content
\strc_floats_make_complete_caption}%
\else
+ % maybe we should listen to the align option here (now side floats need the max option
\setbox\b_strc_floats_caption\hpack to \wd\b_strc_floats_content
{\hss\hbox{\strc_floats_make_complete_caption}\hss}%
\fi}
@@ -2097,7 +2149,7 @@
\let\floatlabel \empty % set by lua
\let\floatcolumn \empty % set by lua
\let\floatrow \empty % set by lua
-\let\forcedfloatmethod\empty % set by lua
+\let\forcedfloatmethod\empty % set by lua and floatcombinations
\def\setfloatmethodvariables#1% \floatmethod \floatlabel \floatrow \floatcolumn
{\clf_analysefloatmethod{#1}}
diff --git a/tex/context/interface/mkii/keys-cs.xml b/tex/context/interface/mkii/keys-cs.xml
index e459a1fad..7a04ae33f 100644
--- a/tex/context/interface/mkii/keys-cs.xml
+++ b/tex/context/interface/mkii/keys-cs.xml
@@ -172,6 +172,7 @@
<cd:variable name='down' value='down'/>
<cd:variable name='each' value='kazdy'/>
<cd:variable name='edge' value='hrana'/>
+ <cd:variable name='effective' value='effective'/>
<cd:variable name='eight' value='eight'/>
<cd:variable name='embed' value='embed'/>
<cd:variable name='empty' value='prazdne'/>
diff --git a/tex/context/interface/mkii/keys-de.xml b/tex/context/interface/mkii/keys-de.xml
index 22b1229cd..5e56927f3 100644
--- a/tex/context/interface/mkii/keys-de.xml
+++ b/tex/context/interface/mkii/keys-de.xml
@@ -172,6 +172,7 @@
<cd:variable name='down' value='down'/>
<cd:variable name='each' value='jede'/>
<cd:variable name='edge' value='kante'/>
+ <cd:variable name='effective' value='effective'/>
<cd:variable name='eight' value='acht'/>
<cd:variable name='embed' value='embed'/>
<cd:variable name='empty' value='leer'/>
diff --git a/tex/context/interface/mkii/keys-en.xml b/tex/context/interface/mkii/keys-en.xml
index 4276f6423..f4277da6f 100644
--- a/tex/context/interface/mkii/keys-en.xml
+++ b/tex/context/interface/mkii/keys-en.xml
@@ -172,6 +172,7 @@
<cd:variable name='down' value='down'/>
<cd:variable name='each' value='each'/>
<cd:variable name='edge' value='edge'/>
+ <cd:variable name='effective' value='effective'/>
<cd:variable name='eight' value='eight'/>
<cd:variable name='embed' value='embed'/>
<cd:variable name='empty' value='empty'/>
diff --git a/tex/context/interface/mkii/keys-fr.xml b/tex/context/interface/mkii/keys-fr.xml
index 8780bad1d..fd3625492 100644
--- a/tex/context/interface/mkii/keys-fr.xml
+++ b/tex/context/interface/mkii/keys-fr.xml
@@ -172,6 +172,7 @@
<cd:variable name='down' value='down'/>
<cd:variable name='each' value='chaque'/>
<cd:variable name='edge' value='bord'/>
+ <cd:variable name='effective' value='effective'/>
<cd:variable name='eight' value='eight'/>
<cd:variable name='embed' value='embed'/>
<cd:variable name='empty' value='vide'/>
diff --git a/tex/context/interface/mkii/keys-it.xml b/tex/context/interface/mkii/keys-it.xml
index 7aad6a96e..c2e205b42 100644
--- a/tex/context/interface/mkii/keys-it.xml
+++ b/tex/context/interface/mkii/keys-it.xml
@@ -172,6 +172,7 @@
<cd:variable name='down' value='down'/>
<cd:variable name='each' value='ogni'/>
<cd:variable name='edge' value='bordo'/>
+ <cd:variable name='effective' value='effective'/>
<cd:variable name='eight' value='eight'/>
<cd:variable name='embed' value='embed'/>
<cd:variable name='empty' value='vuoto'/>
diff --git a/tex/context/interface/mkii/keys-nl.xml b/tex/context/interface/mkii/keys-nl.xml
index 709813a8c..bbe0233e1 100644
--- a/tex/context/interface/mkii/keys-nl.xml
+++ b/tex/context/interface/mkii/keys-nl.xml
@@ -172,6 +172,7 @@
<cd:variable name='down' value='omlaag'/>
<cd:variable name='each' value='elk'/>
<cd:variable name='edge' value='rand'/>
+ <cd:variable name='effective' value='effectief'/>
<cd:variable name='eight' value='acht'/>
<cd:variable name='embed' value='sluitin'/>
<cd:variable name='empty' value='leeg'/>
diff --git a/tex/context/interface/mkii/keys-pe.xml b/tex/context/interface/mkii/keys-pe.xml
index 8410625e3..fb32a8c14 100644
--- a/tex/context/interface/mkii/keys-pe.xml
+++ b/tex/context/interface/mkii/keys-pe.xml
@@ -172,6 +172,7 @@
<cd:variable name='down' value='down'/>
<cd:variable name='each' value='هر'/>
<cd:variable name='edge' value='لبه'/>
+ <cd:variable name='effective' value='effective'/>
<cd:variable name='eight' value='eight'/>
<cd:variable name='embed' value='embed'/>
<cd:variable name='empty' value='تهی'/>
diff --git a/tex/context/interface/mkii/keys-ro.xml b/tex/context/interface/mkii/keys-ro.xml
index 16d18db5c..38a7b77cf 100644
--- a/tex/context/interface/mkii/keys-ro.xml
+++ b/tex/context/interface/mkii/keys-ro.xml
@@ -172,6 +172,7 @@
<cd:variable name='down' value='down'/>
<cd:variable name='each' value='fiecare'/>
<cd:variable name='edge' value='bordura'/>
+ <cd:variable name='effective' value='effective'/>
<cd:variable name='eight' value='eight'/>
<cd:variable name='embed' value='embed'/>
<cd:variable name='empty' value='gol'/>
diff --git a/tex/context/interface/mkiv/i-common-value.xml b/tex/context/interface/mkiv/i-common-value.xml
index 20079351f..42c9e11d8 100644
--- a/tex/context/interface/mkiv/i-common-value.xml
+++ b/tex/context/interface/mkiv/i-common-value.xml
@@ -289,6 +289,7 @@
<cd:constant type="leftpage"/>
<cd:constant type="rightpage"/>
<cd:constant type="somewhere"/>
+ <cd:constant type="effective"/>
</cd:define>
<!-- sortorder = ... -->
diff --git a/tex/context/interface/mkiv/i-context.pdf b/tex/context/interface/mkiv/i-context.pdf
index d2bf8cfbd..77a731577 100644
--- a/tex/context/interface/mkiv/i-context.pdf
+++ b/tex/context/interface/mkiv/i-context.pdf
Binary files differ
diff --git a/tex/context/interface/mkiv/i-readme.pdf b/tex/context/interface/mkiv/i-readme.pdf
index dc1a443e2..b550de042 100644
--- a/tex/context/interface/mkiv/i-readme.pdf
+++ b/tex/context/interface/mkiv/i-readme.pdf
Binary files differ
diff --git a/tex/context/modules/mkiv/m-steps.lua b/tex/context/modules/mkiv/m-steps.lua
index bba9ca8dd..7348766af 100644
--- a/tex/context/modules/mkiv/m-steps.lua
+++ b/tex/context/modules/mkiv/m-steps.lua
@@ -8,6 +8,8 @@ if not modules then modules = { } end modules ['x-flow'] = {
-- when we can resolve mpcolor at the lua end we will use metapost.graphic(....) directly
+local tonumber = tonumber
+
moduledata.steps = moduledata.steps or { }
local context = context
diff --git a/tex/context/modules/mkiv/m-steps.mkvi b/tex/context/modules/mkiv/m-steps.mkvi
index 841615d6e..2d6068481 100644
--- a/tex/context/modules/mkiv/m-steps.mkvi
+++ b/tex/context/modules/mkiv/m-steps.mkvi
@@ -199,7 +199,7 @@
\STEPchartparameter\c!before
\startbaselinecorrection
\setlocalhsize
- \makeSTEPchart[#name]%
+ \dontleavehmode\vpack{\makeSTEPchart[#name]}% we need to ensure leftskip
\stopbaselinecorrection
\STEPchartparameter\c!after
\fi
diff --git a/tex/generic/context/luatex/luatex-fonts-merged.lua b/tex/generic/context/luatex/luatex-fonts-merged.lua
index d86763204..8addd68c7 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 : c:/data/develop/context/sources/luatex-fonts-merged.lua
-- parent file : c:/data/develop/context/sources/luatex-fonts.lua
--- merge date : 08/25/16 14:14:14
+-- merge date : 08/26/16 15:35:38
do -- begin closure to overcome local limits and interference
@@ -11177,6 +11177,7 @@ local bittest=bit32.btest
local rshift=bit32.rshift
local concat=table.concat
local lower=string.lower
+local copy=table.copy
local sub=string.sub
local strip=string.strip
local tohash=table.tohash
@@ -12610,7 +12611,7 @@ do
markclass=d.markclass or nil,
flags=d.flags,
}
- sublookuplist[nofsublookups]=h
+ sublookuplist[nofsublookups]=copy(h)
sublookuphash[lookupid]=nofsublookups
sublookupcheck[lookupid]=1
else