summaryrefslogtreecommitdiff
path: root/tex/context/base/mkxl
diff options
context:
space:
mode:
Diffstat (limited to 'tex/context/base/mkxl')
-rw-r--r--tex/context/base/mkxl/cont-new.mkxl2
-rw-r--r--tex/context/base/mkxl/context.mkxl2
-rw-r--r--tex/context/base/mkxl/math-frc.mkxl6
-rw-r--r--tex/context/base/mkxl/node-mig.lmt2
-rw-r--r--tex/context/base/mkxl/page-ins.mkxl4
-rw-r--r--tex/context/base/mkxl/spac-def.mkxl5
-rw-r--r--tex/context/base/mkxl/spac-par.mkxl42
-rw-r--r--tex/context/base/mkxl/spac-ver.mkxl9
-rw-r--r--tex/context/base/mkxl/strc-mar.mkxl15
-rw-r--r--tex/context/base/mkxl/strc-not.mklx14
-rw-r--r--tex/context/base/mkxl/toks-aux.lmt25
11 files changed, 82 insertions, 44 deletions
diff --git a/tex/context/base/mkxl/cont-new.mkxl b/tex/context/base/mkxl/cont-new.mkxl
index 0a0624c12..d206418cf 100644
--- a/tex/context/base/mkxl/cont-new.mkxl
+++ b/tex/context/base/mkxl/cont-new.mkxl
@@ -13,7 +13,7 @@
% \normalend % uncomment this to get the real base runtime
-\newcontextversion{2021.10.10 23:40}
+\newcontextversion{2021.10.13 16:56}
%D This file is loaded at runtime, thereby providing an excellent place for hacks,
%D patches, extensions and new features. There can be local overloads in cont-loc
diff --git a/tex/context/base/mkxl/context.mkxl b/tex/context/base/mkxl/context.mkxl
index 98ed72845..670c6e383 100644
--- a/tex/context/base/mkxl/context.mkxl
+++ b/tex/context/base/mkxl/context.mkxl
@@ -29,7 +29,7 @@
%D {YYYY.MM.DD HH:MM} format.
\immutable\edef\contextformat {\jobname}
-\immutable\edef\contextversion{2021.10.10 23:40}
+\immutable\edef\contextversion{2021.10.13 16:56}
%overloadmode 1 % check frozen / warning
%overloadmode 2 % check frozen / error
diff --git a/tex/context/base/mkxl/math-frc.mkxl b/tex/context/base/mkxl/math-frc.mkxl
index d02a3b865..7e2266f2f 100644
--- a/tex/context/base/mkxl/math-frc.mkxl
+++ b/tex/context/base/mkxl/math-frc.mkxl
@@ -479,9 +479,9 @@
\installcorenamespace{mathfractiondistance}
-\letvalue{\??mathfractiondistance\v!none }\nomathfractiongaps
-\letvalue{\??mathfractiondistance\v!no }\nomathfractiongaps
-\letvalue{\??mathfractiondistance\v!overlay}\overlaymathfractiongaps
+\letcsname\??mathfractiondistance\v!none \endcsname\nomathfractiongaps
+\letcsname\??mathfractiondistance\v!no \endcsname\nomathfractiongaps
+\letcsname\??mathfractiondistance\v!overlay\endcsname\overlaymathfractiongaps
\setupmathfractions
[\c!distance=\v!none]
diff --git a/tex/context/base/mkxl/node-mig.lmt b/tex/context/base/mkxl/node-mig.lmt
index cc0e4c981..890a7efbb 100644
--- a/tex/context/base/mkxl/node-mig.lmt
+++ b/tex/context/base/mkxl/node-mig.lmt
@@ -110,7 +110,7 @@ local function check()
if not enabled then
enableaction("mvlbuilders", "nodes.handlers.migrate")
enabled = true
- texsetcount("automigrationmode",3)
+ texsetcount("automigrationmode",0xFFFF) -- just all of it
end
else
if enabled then
diff --git a/tex/context/base/mkxl/page-ins.mkxl b/tex/context/base/mkxl/page-ins.mkxl
index b1e0d7bd7..7abcf408c 100644
--- a/tex/context/base/mkxl/page-ins.mkxl
+++ b/tex/context/base/mkxl/page-ins.mkxl
@@ -126,10 +126,14 @@
\protected\def\page_inserts_set_limit {\insertlimit}
\protected\def\page_inserts_set_distance {\insertdistance}
\protected\def\page_inserts_set_multiplier{\insertmultiplier}
+ \protected\def\page_inserts_set_penalty {\insertpenalty}
+ \protected\def\page_inserts_set_maxdepth {\insertmaxdepth}
\protected\def\page_inserts_get_limit {\insertlimit}
\protected\def\page_inserts_get_distance {\insertdistance}
\protected\def\page_inserts_get_multiplier{\insertmultiplier}
+ \protected\def\page_inserts_get_penalty {\insertpenalty}
+ \protected\def\page_inserts_get_maxdepth {\insertmaxdepth}
\protected\def\page_inserts_get_boxed {\insertbox}
\protected\def\page_inserts_get_copied {\insertcopy}
diff --git a/tex/context/base/mkxl/spac-def.mkxl b/tex/context/base/mkxl/spac-def.mkxl
index 294843cce..729968c5d 100644
--- a/tex/context/base/mkxl/spac-def.mkxl
+++ b/tex/context/base/mkxl/spac-def.mkxl
@@ -56,12 +56,13 @@
\setupinterlinespace
[\c!minheight=\zeropoint, % only special purpose
- \c!mindepth=\zeropoint, % only special purpose
+ \c!mindepth=\zeropoint, % only special purpose
\c!height=.72,
\c!depth=.28,
\c!top=1.0,
+ \c!ntop=\minusone, % >= 0 : times lineheight
\c!bottom=0.4,
- \c!distance=\onepoint, % \dimexpr\openlineheight/10\relax
+ \c!distance=\onepoint, % \dimexpr\openlineheight/10\relax
\c!line=2.8\exheight,
\c!stretch=\zerocount,
\c!shrink=\zerocount]
diff --git a/tex/context/base/mkxl/spac-par.mkxl b/tex/context/base/mkxl/spac-par.mkxl
index 8124f2929..0299c5485 100644
--- a/tex/context/base/mkxl/spac-par.mkxl
+++ b/tex/context/base/mkxl/spac-par.mkxl
@@ -38,6 +38,7 @@
+ \widowpenaltyfrozenparcode
+ \clubpenaltyfrozenparcode
+ \brokenpenaltyfrozenparcode
+ + \shapingpenaltiesfrozenparcode
\relax
\setnewconstant\paragraphdemeritcodes\numexpr
@@ -60,26 +61,27 @@
\relax
\setnewconstant\frozenparagraphdefault\numexpr
- \hsizefrozenparcode % \hsize
- + \skipfrozenparcode % \leftskip \rightskip
- + \hangfrozenparcode % \hangindent \hangafter
- + \indentfrozenparcode % \parindent
- + \parfillfrozenparcode % \parfillskip \parfillleftskip
- + \adjustfrozenparcode % \adjustspacing
- + \protrudefrozenparcode % \protrudechars
- + \tolerancefrozenparcode % \tolerance \pretolerance
- + \stretchfrozenparcode % \emergcystretch
- + \loosenessfrozenparcode % \looseness
- + \lastlinefrozenparcode % \lastlinefit
- + \linepenaltyfrozenparcode % \linepenalty \interlinepenalty \interlinepenalties
- + \clubpenaltyfrozenparcode % \clubpenalty \clubpenalties
- + \widowpenaltyfrozenparcode % \widowpenalty \widowpenalties
- + \displaypenaltyfrozenparcode % \displaypenalty \displaypenalties
- + \brokenpenaltyfrozenparcode % \brokenpenalty
- + \demeritsfrozenparcode % \doublehyphendemerits \finalhyphendemerits \adjdemerits
- + \shapefrozenparcode % \parshape
- % \linefrozenparcode % \baselineskip \lineskip \lineskiplimit
- + \hyphenationfrozenparcode % \hyphenationmode
+ \hsizefrozenparcode % \hsize
+ + \skipfrozenparcode % \leftskip \rightskip
+ + \hangfrozenparcode % \hangindent \hangafter
+ + \indentfrozenparcode % \parindent
+ + \parfillfrozenparcode % \parfillskip \parfillleftskip
+ + \adjustfrozenparcode % \adjustspacing
+ + \protrudefrozenparcode % \protrudechars
+ + \tolerancefrozenparcode % \tolerance \pretolerance
+ + \stretchfrozenparcode % \emergcystretch
+ + \loosenessfrozenparcode % \looseness
+ + \lastlinefrozenparcode % \lastlinefit
+ + \linepenaltyfrozenparcode % \linepenalty \interlinepenalty \interlinepenalties
+ + \clubpenaltyfrozenparcode % \clubpenalty \clubpenalties
+ + \widowpenaltyfrozenparcode % \widowpenalty \widowpenalties
+ + \displaypenaltyfrozenparcode % \displaypenalty \displaypenalties
+ + \brokenpenaltyfrozenparcode % \brokenpenalty
+ + \demeritsfrozenparcode % \doublehyphendemerits \finalhyphendemerits \adjdemerits
+ + \shapefrozenparcode % \parshape
+ % \linefrozenparcode % \baselineskip \lineskip \lineskiplimit
+ + \hyphenationfrozenparcode % \hyphenationmode
+ + \shapingpenaltiesfrozenparcode % \shapingpenaltiesmode
\relax
\permanent\protected\def\freezeparagraphproperties {\snapshotpar\frozenparagraphdefault}
diff --git a/tex/context/base/mkxl/spac-ver.mkxl b/tex/context/base/mkxl/spac-ver.mkxl
index 30455bf2b..957bcea22 100644
--- a/tex/context/base/mkxl/spac-ver.mkxl
+++ b/tex/context/base/mkxl/spac-ver.mkxl
@@ -97,6 +97,7 @@
\edef\minimumlinedistance {\interlinespaceparameter\c!distance }%
\edef\normallineheight {\interlinespaceparameter\c!line }%
\edef\topskipfactor {\interlinespaceparameter\c!top }%
+ \edef\ntopskipfactor {\interlinespaceparameter\c!ntop }%
\edef\maxdepthfactor {\interlinespaceparameter\c!bottom }%
\edef\m_spac_vertical_baseline_stretch_factor{\interlinespaceparameter\c!stretch}%
\edef\m_spac_vertical_baseline_shrink_factor {\interlinespaceparameter\c!shrink }%
@@ -659,6 +660,7 @@
\mutable\def\baselinefactor {2.8}
\mutable\def\topskipfactor {1.0}
\mutable\def\maxdepthfactor {0.5}
+\mutable\let\ntopskipfactor \minusone
\mutable\def\minimumstrutheight {\zeropoint}
\mutable\def\minimumstrutdepth {\zeropoint}
@@ -699,7 +701,12 @@
\else
\systemtopskipfactor\globalbodyfontsize
\ifcase\bottomraggednessmode % ragged bottom
- \s!plus5\globalbodyfontsize
+ \s!plus
+ \ifnum\ntopskipfactor<\zerocount
+ 5\globalbodyfontsize % old hard coded value
+ \else
+ \ntopskipfactor\openlineheight
+ \fi
\fi
\fi
%\relax
diff --git a/tex/context/base/mkxl/strc-mar.mkxl b/tex/context/base/mkxl/strc-mar.mkxl
index a0767e609..229025f01 100644
--- a/tex/context/base/mkxl/strc-mar.mkxl
+++ b/tex/context/base/mkxl/strc-mar.mkxl
@@ -122,14 +122,25 @@
\expandafter\secondoftwoarguments
\fi}
+% \permanent\protected\tolerant\def\setmarking[#1]#:#2%
+% {\ifarguments\orelse\ifconditional\inhibitsetmarking\else
+% % probably best: \dontleavehmode
+% \the\csname\??markingsyncs#1\endcsname
+% \ifcstok{\namedmarkingparameter{#1}\c!expansion}\v!yes
+% \marks\csname\??markingclass#1\endcsname{#2}%
+% \else
+% \marks\csname\??markingclass#1\endcsname{\detokenize{#2}}%
+% \fi
+% \fi}
+
\permanent\protected\tolerant\def\setmarking[#1]#:#2%
{\ifarguments\orelse\ifconditional\inhibitsetmarking\else
% probably best: \dontleavehmode
\the\csname\??markingsyncs#1\endcsname
\ifcstok{\namedmarkingparameter{#1}\c!expansion}\v!yes
- \marks\csname\??markingclass#1\endcsname{#2}%
+ \normalexpanded{\marks\csname\??markingclass#1\endcsname{#2}}%
\else
- \marks\csname\??markingclass#1\endcsname{\detokenize{#2}}%
+ \marks\csname\??markingclass#1\endcsname{#2}%
\fi
\fi}
diff --git a/tex/context/base/mkxl/strc-not.mklx b/tex/context/base/mkxl/strc-not.mklx
index 3bc6bf581..6ada89961 100644
--- a/tex/context/base/mkxl/strc-not.mklx
+++ b/tex/context/base/mkxl/strc-not.mklx
@@ -1340,7 +1340,18 @@
\def\strc_notes_set_penalties
{% stored in insert node
- \floatingpenalty \currentnotepenalty
+ \floatingpenalty \currentnotepenalty % now per note
+ % used when typesetting
+ \interlinepenalty\plushundred % plain value
+ % used when we need to split in columns
+ \ifnum\noteparameter\c!n>\plusone
+ \penalty\zerocount % otherwise no split in columns, maybe just always (tex just adds it to accumulated)
+ \fi}
+
+\def\strc_notes_set_penalties
+ {% stored in insert node
+ \floatingpenalty \currentnotepenalty % now per note
+ \page_inserts_set_penalty \currentnoteinsertionnumber\currentnotepenalty
% used when typesetting
\interlinepenalty\plushundred % plain value
% used when we need to split in columns
@@ -1355,6 +1366,7 @@
\redoconvertfont % to undo \undo calls in in headings etc
\splittopskip\strutht % not actually needed here
\splitmaxdepth\strutdp % not actually needed here
+\page_inserts_set_maxdepth \currentnoteinsertionnumber\strutdp
%
% not:
%
diff --git a/tex/context/base/mkxl/toks-aux.lmt b/tex/context/base/mkxl/toks-aux.lmt
index c62511168..1d48d8838 100644
--- a/tex/context/base/mkxl/toks-aux.lmt
+++ b/tex/context/base/mkxl/toks-aux.lmt
@@ -158,18 +158,19 @@ local function getthem(getter,post)
return utilities.storage.allocate(table.swapped(codes,codes))
end
-tex.discoptioncodes = getthem(tex.getdiscoptionvalues, "discoptioncode")
-tex.flagcodes = getthem(tex.getflagvalues, "flagcode" )
-tex.frozenparcodes = getthem(tex.getfrozenparvalues, "frozenparcode")
-tex.glyphoptioncodes = getthem(tex.getglyphoptionvalues, "glyphoptioncode")
-tex.groupcodes = getthem(tex.getgroupvalues, "groupcode")
-tex.hyphenationcodes = getthem(tex.gethyphenationvalues, "hyphenationcode")
-tex.mathcontrolcodes = getthem(tex.getmathcontrolvalues, "mathcontrolcode")
-tex.mathflattencodes = getthem(tex.getmathflattenvalues, "mathflattencode")
-tex.mathoptioncodes = getthem(tex.getmathoptionvalues, "") -- only at lua end
-tex.normalizecodes = getthem(tex.getnormalizevalues, "normalizecode")
-tex.parcontextcodes = getthem(tex.getparcontextvalues, "parcontextcode")
-tex.textcontrolcodes = getthem(tex.gettextcontrolvalues, "") -- only at lua end
+tex.discoptioncodes = getthem(tex.getdiscoptionvalues, "discoptioncode")
+tex.flagcodes = getthem(tex.getflagvalues, "flagcode" )
+tex.frozenparcodes = getthem(tex.getfrozenparvalues, "frozenparcode")
+tex.glyphoptioncodes = getthem(tex.getglyphoptionvalues, "glyphoptioncode")
+tex.groupcodes = getthem(tex.getgroupvalues, "groupcode")
+tex.hyphenationcodes = getthem(tex.gethyphenationvalues, "hyphenationcode")
+tex.mathcontrolcodes = getthem(tex.getmathcontrolvalues, "mathcontrolcode")
+tex.mathflattencodes = getthem(tex.getmathflattenvalues, "mathflattencode")
+tex.mathoptioncodes = getthem(tex.getmathoptionvalues, "") -- only at lua end
+tex.normalizecodes = getthem(tex.getnormalizevalues, "normalizecode")
+tex.automigrationcodes = getthem(tex.getautomigrationvalues, "automigrationcode") -- only at lua end
+tex.parcontextcodes = getthem(tex.getparcontextvalues, "parcontextcode")
+tex.textcontrolcodes = getthem(tex.gettextcontrolvalues, "") -- only at lua end
function tex.stringtocodesbitmap(str,codes)
local bitmap = 0