summaryrefslogtreecommitdiff
path: root/tex
diff options
context:
space:
mode:
Diffstat (limited to 'tex')
-rw-r--r--tex/context/base/mkii/cont-new.mkii2
-rw-r--r--tex/context/base/mkii/context.mkii2
-rw-r--r--tex/context/base/mkii/mult-pe.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/mult-low.lua4
-rw-r--r--tex/context/base/mkiv/mult-prm.lua2
-rw-r--r--tex/context/base/mkiv/publ-ini.lua12
-rw-r--r--tex/context/base/mkiv/status-files.pdfbin24835 -> 24821 bytes
-rw-r--r--tex/context/base/mkiv/status-lua.pdfbin253897 -> 253942 bytes
-rw-r--r--tex/context/base/mkiv/util-evo-imp-server.lua7
-rw-r--r--tex/context/base/mkiv/util-evo.lua22
-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
-rw-r--r--tex/context/interface/mkii/keys-pe.xml1
-rw-r--r--tex/context/modules/mkxl/m-openstreetmap.mkxl6
-rw-r--r--tex/generic/context/luatex/luatex-fonts-merged.lua2
26 files changed, 133 insertions, 58 deletions
diff --git a/tex/context/base/mkii/cont-new.mkii b/tex/context/base/mkii/cont-new.mkii
index 6aa453475..33a8cdb40 100644
--- a/tex/context/base/mkii/cont-new.mkii
+++ b/tex/context/base/mkii/cont-new.mkii
@@ -11,7 +11,7 @@
%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
%C details.
-\newcontextversion{2021.10.10 23:40}
+\newcontextversion{2021.10.13 16:56}
%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/mkii/context.mkii b/tex/context/base/mkii/context.mkii
index fff18ed27..2cf44c56b 100644
--- a/tex/context/base/mkii/context.mkii
+++ b/tex/context/base/mkii/context.mkii
@@ -20,7 +20,7 @@
%D your styles an modules.
\edef\contextformat {\jobname}
-\edef\contextversion{2021.10.10 23:40}
+\edef\contextversion{2021.10.13 16:56}
%D For those who want to use this:
diff --git a/tex/context/base/mkii/mult-pe.mkii b/tex/context/base/mkii/mult-pe.mkii
index 0dc7edb31..f8a7617df 100644
--- a/tex/context/base/mkii/mult-pe.mkii
+++ b/tex/context/base/mkii/mult-pe.mkii
@@ -188,6 +188,7 @@
\setinterfacevariable{enumeration}{شماره‌بندی}
\setinterfacevariable{environment}{محیط}
\setinterfacevariable{even}{زوج}
+\setinterfacevariable{explicit}{explicit}
\setinterfacevariable{export}{export}
\setinterfacevariable{external}{خارجی}
\setinterfacevariable{extremestretch}{extremestretch}
diff --git a/tex/context/base/mkiv/cont-new.mkiv b/tex/context/base/mkiv/cont-new.mkiv
index 8bad7dd12..022391a60 100644
--- a/tex/context/base/mkiv/cont-new.mkiv
+++ b/tex/context/base/mkiv/cont-new.mkiv
@@ -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/mkiv/context.mkiv b/tex/context/base/mkiv/context.mkiv
index 3924c7104..ed579d53a 100644
--- a/tex/context/base/mkiv/context.mkiv
+++ b/tex/context/base/mkiv/context.mkiv
@@ -45,7 +45,7 @@
%D {YYYY.MM.DD HH:MM} format.
\edef\contextformat {\jobname}
-\edef\contextversion{2021.10.10 23:40}
+\edef\contextversion{2021.10.13 16:56}
%D Kind of special:
diff --git a/tex/context/base/mkiv/mult-low.lua b/tex/context/base/mkiv/mult-low.lua
index 30e1eac10..e3626b417 100644
--- a/tex/context/base/mkiv/mult-low.lua
+++ b/tex/context/base/mkiv/mult-low.lua
@@ -76,7 +76,7 @@ return {
"loosenessfrozenparcode", "lastlinefrozenparcode", "linepenaltyfrozenparcode", "clubpenaltyfrozenparcode",
"widowpenaltyfrozenparcode", "displaypenaltyfrozenparcode", "brokenpenaltyfrozenparcode",
"demeritsfrozenparcode", "shapefrozenparcode", "linefrozenparcode", "hyphenationfrozenparcode",
- "allfrozenparcode",
+ "shapingpenaltiesfrozenparcode", "allfrozenparcode",
--
"activemathcharcode",
--
@@ -91,6 +91,8 @@ return {
"localboxgroupcode", "splitoffgroupcode", "splitkeepgroupcode", "preamblegroupcode",
"alignsetgroupcode", "finrowgroupcode", "discretionarygroupcode",
--
+ "markautomigrationcode", "insertautomigrationcode", "preautomigrationcode", "postautomigrationcode",
+ --
"charnodecode", "hlistnodecode", "vlistnodecode", "rulenodecode", "insertnodecode", "marknodecode",
"adjustnodecode", "ligaturenodecode", "discretionarynodecode", "whatsitnodecode", "mathnodecode",
"gluenodecode", "kernnodecode", "penaltynodecode", "unsetnodecode", "mathsnodecode",
diff --git a/tex/context/base/mkiv/mult-prm.lua b/tex/context/base/mkiv/mult-prm.lua
index ab89b665a..92f85011a 100644
--- a/tex/context/base/mkiv/mult-prm.lua
+++ b/tex/context/base/mkiv/mult-prm.lua
@@ -502,6 +502,8 @@ return {
"semiexpanded",
"semiprotected",
"setfontid",
+ "shapingpenaltiesmode",
+ "shapingpenalty",
"snapshotpar",
"supmarkmode",
"swapcsvalues",
diff --git a/tex/context/base/mkiv/publ-ini.lua b/tex/context/base/mkiv/publ-ini.lua
index 584b23dbf..bc0a9106f 100644
--- a/tex/context/base/mkiv/publ-ini.lua
+++ b/tex/context/base/mkiv/publ-ini.lua
@@ -3523,10 +3523,14 @@ do
local list = structures.lists.tobesaved
local done = false
for i=1,#list do
- local u = list[i].userdata
- if u.btxref == tag then
- done = true
- break
+ local l = list[i]
+ local m = l.metadata
+ if m and m.kind == "btx" then
+ local u = l.userdata
+ if u and u.btxref == tag then
+ done = true
+ break
+ end
end
end
ctx_doifelse(done)
diff --git a/tex/context/base/mkiv/status-files.pdf b/tex/context/base/mkiv/status-files.pdf
index ff8592826..50a3a1f99 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 389d9cfd0..57b1a2f59 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/util-evo-imp-server.lua b/tex/context/base/mkiv/util-evo-imp-server.lua
index f4dd5b3f7..b26720128 100644
--- a/tex/context/base/mkiv/util-evo-imp-server.lua
+++ b/tex/context/base/mkiv/util-evo-imp-server.lua
@@ -65,6 +65,13 @@ function evohome.server(specification)
local port = specification.port or (presets.server and presets.server.port) or 8068
local host = specification.host or (presets.server and presets.server.host) or "*"
+ if presets.initial == "alloff" then
+ report("turning all zones off")
+ evohome.actions.alloff(presets)
+ else
+ report("using default initial state")
+ end
+
package.extraluapath(presets.filepath)
local socket = socket or require("socket")
diff --git a/tex/context/base/mkiv/util-evo.lua b/tex/context/base/mkiv/util-evo.lua
index dfb395e08..75c2282f0 100644
--- a/tex/context/base/mkiv/util-evo.lua
+++ b/tex/context/base/mkiv/util-evo.lua
@@ -44,7 +44,7 @@ local formatters = string.formatters
local floor, div = math.floor, math.div
local resultof, ostime, osdate, ossleep = os.resultof, os.time, os.date, os.sleep
local jsontolua, jsontostring = json.tolua, json.tostring
-local savetable, loadtable, sortedkeys = table.save, table.load, table.sortedkeys
+local savetable, loadtable, sortedkeys, sortedhash = table.save, table.load, table.sortedkeys, table.sortedhash
local setmetatableindex, setmetatablenewindex = table.setmetatableindex, table.setmetatablenewindex
local replacer = utilities.templates.replacer
local lower = string.lower -- no utf support yet (encoding needs checking in evohome)
@@ -172,9 +172,11 @@ local function loadedtable(filename)
return { }
end
-local function savedtable(filename,data)
+local function savedtable(filename,data,trace)
savetable(filename,data)
- report("file %a saved",filename)
+ if trace then
+ report("file %a saved",filename)
+ end
end
local function loadpresets(filename)
@@ -823,11 +825,12 @@ local function settask(presets,when,tag,action)
done = false,
category = category,
action = action,
+ tag = tag,
}
else
list[tag] = nil
end
- savedtable(presets.files.schedules,list)
+ savedtable(presets.files.schedules,list,false)
end
end
@@ -990,6 +993,15 @@ local function poller(presets)
return step, process, presets
end
+local function alloff(presets)
+ local zones = getzonenames(presets)
+ if zones then
+ for i=1,#zones do
+ setzonestate(presets,zones[i],5,true)
+ end
+ end
+end
+
--
evohome = {
@@ -1023,6 +1035,8 @@ evohome = {
schedule = schedule, -- presets, name
permanent = permanent, -- presets, name
--
+ alloff = alloff, -- presets
+ --
settomorrow = settomorrow, -- presets, tag, function
resettomorrow = resettomorrow, -- presets, tag
tomorrowset = tomorrowset, -- presets, tag
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
diff --git a/tex/context/interface/mkii/keys-pe.xml b/tex/context/interface/mkii/keys-pe.xml
index 18183e894..e27f2a2d6 100644
--- a/tex/context/interface/mkii/keys-pe.xml
+++ b/tex/context/interface/mkii/keys-pe.xml
@@ -191,6 +191,7 @@
<cd:variable name='enumeration' value='شماره‌بندی'/>
<cd:variable name='environment' value='محیط'/>
<cd:variable name='even' value='زوج'/>
+ <cd:variable name='explicit' value='explicit'/>
<cd:variable name='export' value='export'/>
<cd:variable name='external' value='خارجی'/>
<cd:variable name='extremestretch' value='extremestretch'/>
diff --git a/tex/context/modules/mkxl/m-openstreetmap.mkxl b/tex/context/modules/mkxl/m-openstreetmap.mkxl
index f663bfd36..29cf8eada 100644
--- a/tex/context/modules/mkxl/m-openstreetmap.mkxl
+++ b/tex/context/modules/mkxl/m-openstreetmap.mkxl
@@ -67,6 +67,8 @@
% We can define them global, in which case we can check for actually
% used colors.
+\startbuffer[osm:colors]
+
\definecolor[osm:aerialway:station] [osm:unknown]
\definecolor[osm:aeroway:runway] [osm:unknown]
@@ -306,6 +308,10 @@
\definecolor[osm:waterway:wadi] [osm:waterway]
\definecolor[osm:waterway:weir] [osm:waterway]
+\stopbuffer
+
+\getbuffer[osm:colors]
+
\registerctxluafile{m-openstreetmap}{autosuffix}
\startMPdefinitions
diff --git a/tex/generic/context/luatex/luatex-fonts-merged.lua b/tex/generic/context/luatex/luatex-fonts-merged.lua
index 72164b777..e1a70fa4d 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 : 2021-10-10 23:40
+-- merge date : 2021-10-13 16:56
do -- begin closure to overcome local limits and interference