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-it.mkii3
-rw-r--r--tex/context/base/mkiv/back-exp.lua76
-rw-r--r--tex/context/base/mkiv/buff-ini.lua126
-rw-r--r--tex/context/base/mkiv/buff-ini.mkiv2
-rw-r--r--tex/context/base/mkiv/cldf-ini.mkiv3
-rw-r--r--tex/context/base/mkiv/cldf-int.mkxl31
-rw-r--r--tex/context/base/mkiv/cldf-lmt.lua302
-rw-r--r--tex/context/base/mkiv/colo-imp-rgb.mkiv19
-rw-r--r--tex/context/base/mkiv/cont-new.mkiv2
-rw-r--r--tex/context/base/mkiv/context-performance.tex2
-rw-r--r--tex/context/base/mkiv/context.mkiv2
-rw-r--r--tex/context/base/mkiv/context.mkxl4
-rw-r--r--tex/context/base/mkiv/core-env.lua38
-rw-r--r--tex/context/base/mkiv/core-lmt.mkxl5
-rw-r--r--tex/context/base/mkiv/export-example.css14
-rw-r--r--tex/context/base/mkiv/export-example.tex2
-rw-r--r--tex/context/base/mkiv/font-fil.mklx104
-rw-r--r--tex/context/base/mkiv/font-fil.mkvi2
-rw-r--r--tex/context/base/mkiv/font-mat.mklx26
-rw-r--r--tex/context/base/mkiv/font-ots.lua17
-rw-r--r--tex/context/base/mkiv/grph-trf.mkiv2
-rw-r--r--tex/context/base/mkiv/lpdf-lmt.lua3
-rw-r--r--tex/context/base/mkiv/lpdf-pde.lua5
-rw-r--r--tex/context/base/mkiv/luat-mac.lua95
-rw-r--r--tex/context/base/mkiv/math-ini.mkxl6
-rw-r--r--tex/context/base/mkiv/math-rad.mkvi18
-rw-r--r--tex/context/base/mkiv/mult-aux.mkxl32
-rw-r--r--tex/context/base/mkiv/mult-ini.lua22
-rw-r--r--tex/context/base/mkiv/mult-low.lua3
-rw-r--r--tex/context/base/mkiv/mult-prm.lua3
-rw-r--r--tex/context/base/mkiv/pack-rul.mkiv2
-rw-r--r--tex/context/base/mkiv/pack-rul.mkxl2
-rw-r--r--tex/context/base/mkiv/page-bck.mkiv4
-rw-r--r--tex/context/base/mkiv/page-lin.mkvi24
-rw-r--r--tex/context/base/mkiv/status-files.pdfbin27806 -> 27771 bytes
-rw-r--r--tex/context/base/mkiv/status-lua.pdfbin252140 -> 252766 bytes
-rw-r--r--tex/context/base/mkiv/strc-tag.lua5
-rw-r--r--tex/context/base/mkiv/strc-tag.mkiv14
-rw-r--r--tex/context/base/mkiv/supp-box.lua49
-rw-r--r--tex/context/base/mkiv/supp-box.mkiv2
-rw-r--r--tex/context/base/mkiv/supp-box.mkxl2
-rw-r--r--tex/context/base/mkiv/syst-aux.mkxl316
-rw-r--r--tex/context/base/mkiv/syst-ini.mkiv2
-rw-r--r--tex/context/base/mkiv/syst-ini.mkxl2
-rw-r--r--tex/context/base/mkiv/toks-ini.lua21
-rw-r--r--tex/context/base/mkiv/type-ini.mklx2
-rw-r--r--tex/context/interface/mkii/keys-it.xml3
-rw-r--r--tex/context/interface/mkiv/context-en.xml621
-rw-r--r--tex/context/interface/mkiv/i-accent.xml2
-rw-r--r--tex/context/interface/mkiv/i-anchor.xml2
-rw-r--r--tex/context/interface/mkiv/i-attachment.xml2
-rw-r--r--tex/context/interface/mkiv/i-attribute.xml2
-rw-r--r--tex/context/interface/mkiv/i-backend.xml17
-rw-r--r--tex/context/interface/mkiv/i-blackrule.xml4
-rw-r--r--tex/context/interface/mkiv/i-bleed.xml2
-rw-r--r--tex/context/interface/mkiv/i-bookmark.xml2
-rw-r--r--tex/context/interface/mkiv/i-buffer.xml2
-rw-r--r--tex/context/interface/mkiv/i-capitals.xml2
-rw-r--r--tex/context/interface/mkiv/i-catcodes.xml2
-rw-r--r--tex/context/interface/mkiv/i-characteralign.xml2
-rw-r--r--tex/context/interface/mkiv/i-characterspacing.xml2
-rw-r--r--tex/context/interface/mkiv/i-characterstripping.xml2
-rw-r--r--tex/context/interface/mkiv/i-chart.xml2
-rw-r--r--tex/context/interface/mkiv/i-charwidth.xml2
-rw-r--r--tex/context/interface/mkiv/i-chemical.xml2
-rw-r--r--tex/context/interface/mkiv/i-cleaning.xml8
-rw-r--r--tex/context/interface/mkiv/i-clipping.xml2
-rw-r--r--tex/context/interface/mkiv/i-collector.xml2
-rw-r--r--tex/context/interface/mkiv/i-color.xml2
-rw-r--r--tex/context/interface/mkiv/i-columns.xml45
-rw-r--r--tex/context/interface/mkiv/i-combination.xml2
-rw-r--r--tex/context/interface/mkiv/i-comment.xml2
-rw-r--r--tex/context/interface/mkiv/i-common-argument.xml31
-rw-r--r--tex/context/interface/mkiv/i-common-assignment.xml2
-rw-r--r--tex/context/interface/mkiv/i-common-definitions.xml2
-rw-r--r--tex/context/interface/mkiv/i-common-instance.xml2
-rw-r--r--tex/context/interface/mkiv/i-common-keyword.xml24
-rw-r--r--tex/context/interface/mkiv/i-common-string.xml2
-rw-r--r--tex/context/interface/mkiv/i-common-value.xml652
-rw-r--r--tex/context/interface/mkiv/i-context-modules.xml2
-rw-r--r--tex/context/interface/mkiv/i-context.pdfbin897043 -> 949768 bytes
-rw-r--r--tex/context/interface/mkiv/i-context.xml10
-rw-r--r--tex/context/interface/mkiv/i-contextname.xml2
-rw-r--r--tex/context/interface/mkiv/i-conversion.xml152
-rw-r--r--tex/context/interface/mkiv/i-counter.xml2
-rw-r--r--tex/context/interface/mkiv/i-database.xml2
-rw-r--r--tex/context/interface/mkiv/i-dataset.xml2
-rw-r--r--tex/context/interface/mkiv/i-define.xml2
-rw-r--r--tex/context/interface/mkiv/i-digits.xml2
-rw-r--r--tex/context/interface/mkiv/i-dimension.xml2
-rw-r--r--tex/context/interface/mkiv/i-direction.xml2
-rw-r--r--tex/context/interface/mkiv/i-document.xml2
-rw-r--r--tex/context/interface/mkiv/i-dummy.xml2
-rw-r--r--tex/context/interface/mkiv/i-enumeration.xml2
-rw-r--r--tex/context/interface/mkiv/i-export.xml2
-rw-r--r--tex/context/interface/mkiv/i-field.xml2
-rw-r--r--tex/context/interface/mkiv/i-file.xml2
-rw-r--r--tex/context/interface/mkiv/i-fillinline.xml2
-rw-r--r--tex/context/interface/mkiv/i-fillinrule.xml2
-rw-r--r--tex/context/interface/mkiv/i-firstline.xml2
-rw-r--r--tex/context/interface/mkiv/i-fittingpage.xml2
-rw-r--r--tex/context/interface/mkiv/i-floats.xml29
-rw-r--r--tex/context/interface/mkiv/i-fontfamily.xml2
-rw-r--r--tex/context/interface/mkiv/i-fonts.xml52
-rw-r--r--tex/context/interface/mkiv/i-form.xml2
-rw-r--r--tex/context/interface/mkiv/i-fraction.xml2
-rw-r--r--tex/context/interface/mkiv/i-framed.xml2
-rw-r--r--tex/context/interface/mkiv/i-framedtable.xml2
-rw-r--r--tex/context/interface/mkiv/i-graphics.xml49
-rw-r--r--tex/context/interface/mkiv/i-help.xml2
-rw-r--r--tex/context/interface/mkiv/i-hemistich.xml2
-rw-r--r--tex/context/interface/mkiv/i-highlight.xml2
-rw-r--r--tex/context/interface/mkiv/i-hspace.xml22
-rw-r--r--tex/context/interface/mkiv/i-hyphenation.xml4
-rw-r--r--tex/context/interface/mkiv/i-imposition.xml2
-rw-r--r--tex/context/interface/mkiv/i-indentedtext.xml2
-rw-r--r--tex/context/interface/mkiv/i-injector.xml2
-rw-r--r--tex/context/interface/mkiv/i-insertion.xml2
-rw-r--r--tex/context/interface/mkiv/i-interaction.xml2
-rw-r--r--tex/context/interface/mkiv/i-interactionbar.xml2
-rw-r--r--tex/context/interface/mkiv/i-interactionmenu.xml2
-rw-r--r--tex/context/interface/mkiv/i-interface.xml2
-rw-r--r--tex/context/interface/mkiv/i-interlinespace.xml2
-rw-r--r--tex/context/interface/mkiv/i-ipsum.xml2
-rw-r--r--tex/context/interface/mkiv/i-italiccorrection.xml2
-rw-r--r--tex/context/interface/mkiv/i-items.xml2
-rw-r--r--tex/context/interface/mkiv/i-javascript.xml2
-rw-r--r--tex/context/interface/mkiv/i-kerning.xml2
-rw-r--r--tex/context/interface/mkiv/i-label.xml2
-rw-r--r--tex/context/interface/mkiv/i-labeltext.xml2
-rw-r--r--tex/context/interface/mkiv/i-layer.xml2
-rw-r--r--tex/context/interface/mkiv/i-layout.xml2
-rw-r--r--tex/context/interface/mkiv/i-linenumber.xml2
-rw-r--r--tex/context/interface/mkiv/i-lines.xml2
-rw-r--r--tex/context/interface/mkiv/i-linetable.xml2
-rw-r--r--tex/context/interface/mkiv/i-linewidth.xml2
-rw-r--r--tex/context/interface/mkiv/i-list.xml5
-rw-r--r--tex/context/interface/mkiv/i-logo.xml9
-rw-r--r--tex/context/interface/mkiv/i-lohi.xml2
-rw-r--r--tex/context/interface/mkiv/i-lua.xml2
-rw-r--r--tex/context/interface/mkiv/i-luatable.xml76
-rw-r--r--tex/context/interface/mkiv/i-makeup.xml2
-rw-r--r--tex/context/interface/mkiv/i-marginblock.xml2
-rw-r--r--tex/context/interface/mkiv/i-margindata.xml2
-rw-r--r--tex/context/interface/mkiv/i-marker.xml2
-rw-r--r--tex/context/interface/mkiv/i-marking.xml7
-rw-r--r--tex/context/interface/mkiv/i-math.xml6
-rw-r--r--tex/context/interface/mkiv/i-mathalignment.xml2
-rw-r--r--tex/context/interface/mkiv/i-mathcases.xml2
-rw-r--r--tex/context/interface/mkiv/i-mathname.xml2
-rw-r--r--tex/context/interface/mkiv/i-mathornament.xml2
-rw-r--r--tex/context/interface/mkiv/i-mathradical.xml2
-rw-r--r--tex/context/interface/mkiv/i-metapost.xml15
-rw-r--r--tex/context/interface/mkiv/i-modes.xml2
-rw-r--r--tex/context/interface/mkiv/i-modules.xml2
-rw-r--r--tex/context/interface/mkiv/i-naturaltable.xml2
-rw-r--r--tex/context/interface/mkiv/i-note.xml5
-rw-r--r--tex/context/interface/mkiv/i-object.xml2
-rw-r--r--tex/context/interface/mkiv/i-offset.xml2
-rw-r--r--tex/context/interface/mkiv/i-opposite.xml2
-rw-r--r--tex/context/interface/mkiv/i-ornament.xml2
-rw-r--r--tex/context/interface/mkiv/i-output.xml2
-rw-r--r--tex/context/interface/mkiv/i-overlay.xml2
-rw-r--r--tex/context/interface/mkiv/i-pagebreak.xml2
-rw-r--r--tex/context/interface/mkiv/i-pagecomment.xml2
-rw-r--r--tex/context/interface/mkiv/i-pagefigure.xml2
-rw-r--r--tex/context/interface/mkiv/i-pagegrid.xml2
-rw-r--r--tex/context/interface/mkiv/i-pageinjection.xml2
-rw-r--r--tex/context/interface/mkiv/i-pagelayout.xml2
-rw-r--r--tex/context/interface/mkiv/i-pagemarks.xml2
-rw-r--r--tex/context/interface/mkiv/i-pagenumber.xml2
-rw-r--r--tex/context/interface/mkiv/i-pageselection.xml2
-rw-r--r--tex/context/interface/mkiv/i-pageshift.xml2
-rw-r--r--tex/context/interface/mkiv/i-pairedbox.xml2
-rw-r--r--tex/context/interface/mkiv/i-papersize.xml2
-rw-r--r--tex/context/interface/mkiv/i-paragraph.xml2
-rw-r--r--tex/context/interface/mkiv/i-paragraphnumber.xml2
-rw-r--r--tex/context/interface/mkiv/i-paragraphs.xml2
-rw-r--r--tex/context/interface/mkiv/i-parallel.xml2
-rw-r--r--tex/context/interface/mkiv/i-parbuilder.xml2
-rw-r--r--tex/context/interface/mkiv/i-pdf.xml2
-rw-r--r--tex/context/interface/mkiv/i-penalty.xml2
-rw-r--r--tex/context/interface/mkiv/i-periods.xml2
-rw-r--r--tex/context/interface/mkiv/i-phantom.xml2
-rw-r--r--tex/context/interface/mkiv/i-placement.xml2
-rw-r--r--tex/context/interface/mkiv/i-position.xml2
-rw-r--r--tex/context/interface/mkiv/i-positionbar.xml2
-rw-r--r--tex/context/interface/mkiv/i-positioning.xml2
-rw-r--r--tex/context/interface/mkiv/i-postponing.xml2
-rw-r--r--tex/context/interface/mkiv/i-processor.xml2
-rw-r--r--tex/context/interface/mkiv/i-profile.xml2
-rw-r--r--tex/context/interface/mkiv/i-publication.xml2
-rw-r--r--tex/context/interface/mkiv/i-random.xml2
-rw-r--r--tex/context/interface/mkiv/i-readme.pdfbin61168 -> 25071 bytes
-rw-r--r--tex/context/interface/mkiv/i-references.xml12
-rw-r--r--tex/context/interface/mkiv/i-regime.xml2
-rw-r--r--tex/context/interface/mkiv/i-renderingwindow.xml2
-rw-r--r--tex/context/interface/mkiv/i-replacement.xml2
-rw-r--r--tex/context/interface/mkiv/i-rotation.xml2
-rw-r--r--tex/context/interface/mkiv/i-ruby.xml2
-rw-r--r--tex/context/interface/mkiv/i-scale.xml2
-rw-r--r--tex/context/interface/mkiv/i-scite.xml2
-rw-r--r--tex/context/interface/mkiv/i-script.xml2
-rw-r--r--tex/context/interface/mkiv/i-section.xml2
-rw-r--r--tex/context/interface/mkiv/i-sectionblock.xml2
-rw-r--r--tex/context/interface/mkiv/i-selector.xml2
-rw-r--r--tex/context/interface/mkiv/i-setup.xml2
-rw-r--r--tex/context/interface/mkiv/i-shift.xml2
-rw-r--r--tex/context/interface/mkiv/i-sidebar.xml2
-rw-r--r--tex/context/interface/mkiv/i-simplecolumns.xml15
-rw-r--r--tex/context/interface/mkiv/i-smash.xml2
-rw-r--r--tex/context/interface/mkiv/i-sort.xml2
-rw-r--r--tex/context/interface/mkiv/i-soundtrack.xml2
-rw-r--r--tex/context/interface/mkiv/i-spellchecking.xml2
-rw-r--r--tex/context/interface/mkiv/i-spreadsheet.xml2
-rw-r--r--tex/context/interface/mkiv/i-startstop.xml2
-rw-r--r--tex/context/interface/mkiv/i-steps.xml2
-rw-r--r--tex/context/interface/mkiv/i-stream.xml2
-rw-r--r--tex/context/interface/mkiv/i-string.xml2
-rw-r--r--tex/context/interface/mkiv/i-synctex.xml2
-rw-r--r--tex/context/interface/mkiv/i-synonym.xml2
-rw-r--r--tex/context/interface/mkiv/i-system.xml4
-rw-r--r--tex/context/interface/mkiv/i-systemlog.xml2
-rw-r--r--tex/context/interface/mkiv/i-table.xml2
-rw-r--r--tex/context/interface/mkiv/i-tabulation.xml187
-rw-r--r--tex/context/interface/mkiv/i-tex.xml2
-rw-r--r--tex/context/interface/mkiv/i-textbackground.xml2
-rw-r--r--tex/context/interface/mkiv/i-textflow.xml2
-rw-r--r--tex/context/interface/mkiv/i-textrule.xml2
-rw-r--r--tex/context/interface/mkiv/i-texts.xml2
-rw-r--r--tex/context/interface/mkiv/i-thinrule.xml2
-rw-r--r--tex/context/interface/mkiv/i-token.xml2
-rw-r--r--tex/context/interface/mkiv/i-tolerance.xml2
-rw-r--r--tex/context/interface/mkiv/i-tooltip.xml2
-rw-r--r--tex/context/interface/mkiv/i-tracker.xml2
-rw-r--r--tex/context/interface/mkiv/i-translate.xml2
-rw-r--r--tex/context/interface/mkiv/i-translation.xml2
-rw-r--r--tex/context/interface/mkiv/i-twopassdata.xml2
-rw-r--r--tex/context/interface/mkiv/i-typography.xml2
-rw-r--r--tex/context/interface/mkiv/i-unit.xml2
-rw-r--r--tex/context/interface/mkiv/i-variables.xml2
-rw-r--r--tex/context/interface/mkiv/i-verbatim.xml2
-rw-r--r--tex/context/interface/mkiv/i-version.xml2
-rw-r--r--tex/context/interface/mkiv/i-viewerlayer.xml2
-rw-r--r--tex/context/interface/mkiv/i-visual.xml2
-rw-r--r--tex/context/interface/mkiv/i-whitespace.xml2
-rw-r--r--tex/generic/context/luatex/luatex-fonts-merged.lua13
249 files changed, 3170 insertions, 669 deletions
diff --git a/tex/context/base/mkii/cont-new.mkii b/tex/context/base/mkii/cont-new.mkii
index 3430f5db5..99d624dc7 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{2020.05.25 23:36}
+\newcontextversion{2020.06.09 18:53}
%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 482570ae9..8f714b4c4 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{2020.05.25 23:36}
+\edef\contextversion{2020.06.09 18:53}
%D For those who want to use this:
diff --git a/tex/context/base/mkii/mult-it.mkii b/tex/context/base/mkii/mult-it.mkii
index 1d2425c9a..7f5778aab 100644
--- a/tex/context/base/mkii/mult-it.mkii
+++ b/tex/context/base/mkii/mult-it.mkii
@@ -907,7 +907,10 @@
\setinterfaceconstant{keys}{keys}
\setinterfaceconstant{keyword}{parolachiave}
\setinterfaceconstant{label}{etichetta}
+\setinterfaceconstant{labelalternative}{labelalternative}
+\setinterfaceconstant{labelcolor}{labelcolor}
\setinterfaceconstant{labeloffset}{labeloffset}
+\setinterfaceconstant{labelstyle}{labelstyle}
\setinterfaceconstant{language}{language}
\setinterfaceconstant{last}{last}
\setinterfaceconstant{lastnamesep}{lastnamesep}
diff --git a/tex/context/base/mkiv/back-exp.lua b/tex/context/base/mkiv/back-exp.lua
index f72cd68b8..3b9a8f3ac 100644
--- a/tex/context/base/mkiv/back-exp.lua
+++ b/tex/context/base/mkiv/back-exp.lua
@@ -144,6 +144,7 @@ local treeroot = tree
local treehash = { }
local extras = { }
local checks = { }
+local fixes = { }
local finalizers = { }
local nofbreaks = 0
local used = { }
@@ -707,6 +708,35 @@ end
do
+ function fixes.linenumber(di,data,i)
+ local ni = data[i+1]
+ if ni and ni.data then
+ while true do
+ local d = ni.data[1]
+ if d then
+ local e = d.element
+ if e then
+ if e == "line" or e == "verbatimline" then
+ table.insert(d.data,1,di)
+ data[i] = false
+ return
+ else
+ ni = d
+ end
+ else
+ return
+ end
+ else
+ return
+ end
+ end
+ end
+ end
+
+end
+
+do
+
local synonyms = { }
local sortings = { }
@@ -2305,8 +2335,10 @@ do
if not p then
-- skip
elseif exportproperties == v_yes then
+ n = n + 1
r[n] = attributes(p)
else
+ n = n + 1
r[n] = properties(p)
end
end
@@ -2574,9 +2606,12 @@ do
-- also tabulaterow reconstruction .. maybe better as a checker
-- i.e cell attribute
- local function collapsetree()
- for tag, trees in next, treehash do
+ local function collapsetree(tree)
+ for tag, trees in sortedhash(treehash) do
+-- for tag, trees in next, treehash do
local d = trees[1].data
+-- print("!!!!!!!!",tag)
+-- inspect(trees)
if d then
local nd = #d
if nd > 0 then
@@ -2630,10 +2665,22 @@ do
end
end
+ -- local function showtree(data,when,where)
+ -- if data then
+ -- for i=1,#data do
+ -- local d = data[i]
+ -- if type(d) == "table" and d.element then
+ -- print(when,where,i,d.element,d.parnumber or 0)
+ -- end
+ -- end
+ -- end
+ -- end
+
local function indextree(tree)
local data = tree.data
if data then
local n, new = 0, { }
+ -- showtree(data,"before","index")
for i=1,#data do
local d = data[i]
if not d then
@@ -2650,22 +2697,43 @@ do
end
end
tree.data = new
+ -- showtree(new,"after","index")
end
end
local function checktree(tree)
local data = tree.data
if data then
+ -- showtree(data,"before","check")
for i=1,#data do
local d = data[i]
if type(d) == "table" then
local check = checks[d.tg]
if check then
- check(d)
+ check(d,data,i)
end
checktree(d) -- so parts can pass twice
end
end
+ -- showtree(data,"after","check")
+ end
+ end
+
+ local function fixtree(tree)
+ local data = tree.data
+ if data then
+ -- showtree(data,"before","fix")
+ for i=1,#data do
+ local d = data[i]
+ if type(d) == "table" then
+ local fix = fixes[d.tg]
+ if fix then
+ fix(d,data,i)
+ end
+ fixtree(d) -- so parts can pass twice
+ end
+ end
+ -- showtree(data,"after","fix")
end
end
@@ -2675,6 +2743,7 @@ do
wrapups.finalizetree = finalizetree
wrapups.indextree = indextree
wrapups.checktree = checktree
+ wrapups.fixtree = fixtree
end
@@ -3828,6 +3897,7 @@ local htmltemplate = [[
end
report_export("")
--
+ wrapups.fixtree(tree)
wrapups.collapsetree(tree)
wrapups.indextree(tree)
wrapups.checktree(tree)
diff --git a/tex/context/base/mkiv/buff-ini.lua b/tex/context/base/mkiv/buff-ini.lua
index 5b5c47867..e4f01c03f 100644
--- a/tex/context/base/mkiv/buff-ini.lua
+++ b/tex/context/base/mkiv/buff-ini.lua
@@ -42,6 +42,10 @@ local scantokencode = scanners.tokencode
local getters = tokens.getters
local gettoken = getters.token
+local getcommand = token.get_command
+local getcsname = token.get_csname
+local getnextchar = token.get_next_char
+
local scanners = interfaces.scanners
local variables = interfaces.variables
@@ -375,7 +379,7 @@ local tochar = {
local experiment = false
local experiment = scantokencode and true
-function tokens.pickup(start,stop)
+local function pickup(start,stop)
local stoplist = split[stop] -- totable(stop)
local stoplength = #stoplist
local stoplast = stoplist[stoplength]
@@ -439,11 +443,11 @@ function tokens.pickup(start,stop)
-- we're skipping leading stuff, like obeyedlines and relaxes
if experiment and size > 0 then
-- we're probably in a macro
- local char = tochar[token.get_command(t)] -- could also be char(token.get_mode(t))
+ local char = tochar[getcommand(t)]
if char then
size = size + 1 ; list[size] = char
else
- local csname = token.get_csname(t)
+ local csname = getcsname(t)
if csname == stop then
stoplength = 0
break
@@ -494,6 +498,118 @@ function tokens.pickup(start,stop)
end
end
+-- -- lmtx:
+--
+-- local function pickup(start,stop)
+-- local stoplist = split[stop] -- totable(stop)
+-- local stoplength = #stoplist
+-- local stoplast = stoplist[stoplength]
+-- local startlist = split[start] -- totable(start)
+-- local startlength = #startlist
+-- local startlast = startlist[startlength]
+-- local list = { }
+-- local size = 0
+-- local depth = 0
+-- getnextchar() -- we start with a \relax
+-- while true do -- or use depth
+-- local char = getnextchar()
+-- if char then
+-- size = size + 1
+-- list[size] = char
+-- if char == stoplast and size >= stoplength then
+-- local done = true
+-- local last = size
+-- for i=stoplength,1,-1 do
+-- if stoplist[i] ~= list[last] then
+-- done = false
+-- break
+-- end
+-- last = last - 1
+-- end
+-- if done then
+-- if depth > 0 then
+-- depth = depth - 1
+-- else
+-- break
+-- end
+-- char = false -- trick: let's skip the next (start) test
+-- end
+-- end
+-- if char == startlast and size >= startlength then
+-- local done = true
+-- local last = size
+-- for i=startlength,1,-1 do
+-- if startlist[i] ~= list[last] then
+-- done = false
+-- break
+-- end
+-- last = last - 1
+-- end
+-- if done then
+-- depth = depth + 1
+-- end
+-- end
+-- else
+-- local t = gettoken()
+-- if t then
+-- -- we're skipping leading stuff, like obeyedlines and relaxes
+-- if experiment and size > 0 then
+-- -- we're probably in a macro
+-- local char = tochar[getcommand(t)]
+-- if char then
+-- size = size + 1 ; list[size] = char
+-- else
+-- local csname = getcsname(t)
+-- if csname == stop then
+-- stoplength = 0
+-- break
+-- else
+-- size = size + 1 ; list[size] = "\\"
+-- size = size + 1 ; list[size] = csname
+-- size = size + 1 ; list[size] = " "
+-- end
+-- end
+-- else
+-- -- ignore and hope for the best
+-- end
+-- else
+-- break
+-- end
+-- end
+-- end
+-- local start = 1
+-- local stop = size - stoplength - 1
+-- -- not good enough: only empty lines, but even then we miss the leading
+-- -- for verbatim
+-- --
+-- -- the next is not yet adapted to the new scanner ... we don't need lpeg here
+-- --
+-- for i=start,stop do
+-- local li = list[i]
+-- if lpegmatch(blackspace,li) then
+-- -- keep going
+-- elseif lpegmatch(eol,li) then
+-- -- okay
+-- start = i + 1
+-- else
+-- break
+-- end
+-- end
+-- for i=stop,start,-1 do
+-- if lpegmatch(whitespace,list[i]) then
+-- stop = i - 1
+-- else
+-- break
+-- end
+-- end
+-- --
+-- if start <= stop then
+-- return concat(list,"",start,stop)
+-- else
+-- return ""
+-- end
+-- end
+
-- function buffers.pickup(name,start,stop,finish,catcodes,doundent)
-- local data = tokens.pickup(start,stop)
-- if doundent or (autoundent and doundent == nil) then
@@ -505,6 +621,8 @@ end
-- commands.pickupbuffer = buffers.pickup
+tokens.pickup = pickup
+
scanners.pickupbuffer = function()
local name = scanstring()
local start = scanstring()
@@ -512,7 +630,7 @@ scanners.pickupbuffer = function()
local finish = scanstring()
local catcodes = scaninteger()
local doundent = scanboolean()
- local data = tokens.pickup(start,stop)
+ local data = pickup(start,stop)
if doundent or (autoundent and doundent == nil) then
data = undent(data)
end
diff --git a/tex/context/base/mkiv/buff-ini.mkiv b/tex/context/base/mkiv/buff-ini.mkiv
index 8e71c9865..a8a120d90 100644
--- a/tex/context/base/mkiv/buff-ini.mkiv
+++ b/tex/context/base/mkiv/buff-ini.mkiv
@@ -116,7 +116,7 @@
{\endgroup % (1)
\endgroup % (2)
#5}%
- % todo: we need to skip the first lineending which is na active character
+ % todo: we need to skip the first lineending which is an active character
% but sometimes we have something different ... this is a side effect of
% checking for optional arguments i.e. the next token is already tokenized
% and for that reason we have the \relax as well as the \string
diff --git a/tex/context/base/mkiv/cldf-ini.mkiv b/tex/context/base/mkiv/cldf-ini.mkiv
index 29fb15d68..0a1ee639f 100644
--- a/tex/context/base/mkiv/cldf-ini.mkiv
+++ b/tex/context/base/mkiv/cldf-ini.mkiv
@@ -17,8 +17,7 @@
\registerctxluafile{cldf-ini}{}
-%D With each new update of \MKIV\ we can join Within Temptation in
-%D singing:
+%D With each new update of \MKIV\ we can join Within Temptation in singing:
%D
%D \startbuffer
%D \startluacode
diff --git a/tex/context/base/mkiv/cldf-int.mkxl b/tex/context/base/mkiv/cldf-int.mkxl
new file mode 100644
index 000000000..aae7d0416
--- /dev/null
+++ b/tex/context/base/mkiv/cldf-int.mkxl
@@ -0,0 +1,31 @@
+%D \module
+%D [ file=mult-ini,
+%D version=2008.10.22, % 1996.06.01,
+%D title=\CONTEXT\ Multilingual Macros,
+%D subtitle=Initialization,
+%D author=Hans Hagen,
+%D date=\currentdate,
+%D copyright={PRAGMA ADE \& \CONTEXT\ Development Team}]
+%C
+%C This module is part of the \CONTEXT\ macro||package and is
+%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
+%C details.
+
+\writestatus{loading}{ConTeXt Multilingual Macros / Lua}
+
+\registerctxluafile{cldf-int}{}
+
+\unprotect
+
+\unexpanded\def\newluatable#1{\clf_newluatable#1\atendofgrouped{\disposeluatable#1}}
+\unexpanded\def\useluatable#1{\clf_useluatable#1\atendofgrouped{\disposeluatable#1}}
+
+\installcorenamespace{datavalue}
+
+\unexpanded\def\setdatavalue#1#2% #2 is a number (expression)
+ {\expandafter\letdatacode\csname\??datavalue#1\endcsname\numexpr#2\relax}
+
+\def\getdatavalue#1{\begincsname\??datavalue#1\endcsname}
+\def\thedatavalue#1{\the\begincsname\??datavalue#1\endcsname}
+
+\protect \endinput
diff --git a/tex/context/base/mkiv/cldf-lmt.lua b/tex/context/base/mkiv/cldf-lmt.lua
index 74ba5c224..ab25f962e 100644
--- a/tex/context/base/mkiv/cldf-lmt.lua
+++ b/tex/context/base/mkiv/cldf-lmt.lua
@@ -6,45 +6,52 @@ if not modules then modules = { } end modules ['cldf-lmt'] = {
license = "see context related readme files"
}
-local random = math.random
-local randomseed = math.randomseed
-local round = math.round
-local abs = math.abs
-
-local scanners = tokens.scanners
-local scanword = scanners.word
-local scanstring = scanners.string
-local scanboolean = scanners.boolean
-local scandimen = scanners.dimen
-local scanfloat = scanners.float
-local scancount = scanners.integer
-local scaninteger = scanners.luainteger
-local scancardinal = scanners.luacardinal
-local scannumber = scanners.luanumber
-local scanargument = scanners.argument
-local scantoken = scanners.token
-local getindex = token.get_index
-local texsetdimen = tex.setdimen
-
-local values = tokens.values
-local none_code = values.none
-local integer_code = values.integer
-local cardinal_code = values.cardinal
-local dimension_code = values.dimension
-local skip_code = values.skip
-local boolean_code = values.boolean
-local float_code = values.float
-
-local context = context
+local next, load = next, load
+
+local setmetatableindex = table.setmetatableindex
+local serialize = table.serialize
+
+local random = math.random
+local randomseed = math.randomseed
+local round = math.round
+local abs = math.abs
+
+local implement = interfaces.implement
+
+local scanners = tokens.scanners
+local scanword = scanners.word
+local scanstring = scanners.string
+local scanboolean = scanners.boolean
+local scandimen = scanners.dimen
+local scanfloat = scanners.float
+local scancount = scanners.integer
+local scaninteger = scanners.luainteger
+local scancardinal = scanners.luacardinal
+local scannumber = scanners.luanumber
+local scanargument = scanners.argument
+local scantoken = scanners.token
+local getindex = token.get_index
+local texsetdimen = tex.setdimen
+
+local values = tokens.values
+local none_code = values.none
+local integer_code = values.integer
+local cardinal_code = values.cardinal
+local dimension_code = values.dimension
+local skip_code = values.skip
+local boolean_code = values.boolean
+local float_code = values.float
+
+local context = context
+
+-- variables --
local floats = { }
local integers = { }
local cardinals = { }
local numbers = { }
--- variables --
-
-interfaces.implement {
+implement {
name = "luafloat",
public = true,
value = true,
@@ -59,7 +66,7 @@ interfaces.implement {
end,
}
-interfaces.implement {
+implement {
name = "luainteger",
public = true,
value = true,
@@ -73,7 +80,7 @@ interfaces.implement {
end,
}
-interfaces.implement {
+implement {
name = "luacount",
public = true,
value = true,
@@ -87,7 +94,7 @@ interfaces.implement {
end,
}
-interfaces.implement {
+implement {
name = "luadimen",
public = true,
value = true,
@@ -101,7 +108,7 @@ interfaces.implement {
end,
}
-interfaces.implement {
+implement {
name = "luacardinal",
public = true,
value = true,
@@ -115,7 +122,7 @@ interfaces.implement {
end,
}
-interfaces.implement {
+implement {
name = "luanumber",
public = true,
value = true,
@@ -130,7 +137,7 @@ interfaces.implement {
end,
}
-interfaces.implement {
+implement {
name = "luarandom",
public = true,
value = true,
@@ -159,7 +166,7 @@ interfaces.arrays = arrays
local newindex = lua.newindex
-interfaces.implement {
+implement {
name = "newarray",
public = true,
protected = true,
@@ -220,7 +227,7 @@ interfaces.implement {
end,
}
-interfaces.implement {
+implement {
name = "arrayvalue",
public = true,
value = true,
@@ -252,7 +259,7 @@ interfaces.implement {
}
-interfaces.implement {
+implement {
name = "arrayequals",
public = true,
value = true,
@@ -276,7 +283,7 @@ interfaces.implement {
end,
}
-interfaces.implement {
+implement {
name = "arraycompare",
public = true,
value = true,
@@ -308,7 +315,7 @@ interfaces.implement {
end,
}
-interfaces.implement {
+implement {
name = "showarray",
public = true,
protected = true,
@@ -334,7 +341,7 @@ end)
table.makeweak(cache)
-interfaces.implement {
+implement {
name = "luaexpression",
public = true,
actions = function()
@@ -367,7 +374,7 @@ interfaces.implement {
local dimenfactors = number.dimenfactors
-interfaces.implement {
+implement {
name = "nodimen",
public = true,
value = true,
@@ -397,3 +404,206 @@ interfaces.implement {
end
end,
}
+
+-- experimental:
+
+local grouped = { }
+local slots = { }
+local nofslots = 0
+local nofgrouped = 0
+
+local getdata = tokens.getdata
+local setdata = tokens.setdata
+
+local report = logs.reporter("lua table")
+
+----- ctxsprint = context.sprint
+
+-- we could have an extra one that collects all end of grouped actions
+-- so that we dispose more in one go but it doesn's pay off
+
+local function newluatable(name,mt,dispose)
+ local g = { }
+ local t = slots[nofslots]
+ slots[nofslots] = false
+ nofslots = nofslots - 1
+ if not t then
+ nofgrouped = nofgrouped + 1
+ t = nofgrouped
+ end
+ if mt then
+ mt = getdata(name)
+ if mt then
+ mt = grouped[mt]
+ if mt then
+ setmetatableindex(g,mt)
+ end
+ end
+ end
+ grouped[t] = g
+ setdata(name,t)
+ -- This is the slow part. Doing this at the TeX end saved 10% runtime. I'll
+ -- think of something that we can set it at the Lua end.
+ if dispose then
+ ctxsprint("\\atendofgrouped{\\disposeluatable\\" .. name .. "}")
+ end
+end
+
+local function disposeluatable(name)
+ local t = getdata(name)
+ local g = grouped[t]
+ if g then
+ grouped[t] = false
+ nofslots = nofslots + 1
+ slots[nofslots] = t
+ end
+end
+
+local function setluatable(name,kv)
+ local t = getdata(name)
+ local g = grouped[t]
+ if g and kv then
+ for k, v in next, kv do
+ g[k] = v
+ end
+ end
+end
+
+local function getfromluatable(name,k)
+ local t = getdata(name)
+ local g = grouped[t]
+ if g then
+ local v = g[k]
+ if v then
+ context(v)
+ else
+ local n = tonumber(k)
+ if n then
+ local v = g[n]
+ if v then
+ context(v)
+ end
+ end
+ end
+ end
+end
+
+local function idxfromluatable(name,k)
+ local t = getdata(name)
+ local g = grouped[t]
+ if g then
+ local v = g[k]
+ if v then
+ context(v)
+ end
+ end
+end
+
+local function getluatable(name,k)
+ local t = getdata(name)
+ local g = grouped[t]
+ if g then
+ return g
+ end
+end
+
+local function inspectluatable(name)
+ local t = getdata(name)
+ local g = grouped[t]
+ if g then
+ report("%s", serialize(g,'[grouped slot ' .. t .. ']'))
+ end
+end
+
+local function showluatables()
+ report("nofgrouped %i, nofslots %i",nofgrouped,nofslots)
+ for t=1,nofgrouped do
+ local g = grouped[t]
+ if g then
+ report("%s", serialize(g,'[grouped slot ' .. t .. ']'))
+ end
+ end
+end
+
+implement {
+ name = "newluatable",
+ protected = true,
+ -- public = true,
+ arguments = { "csname" },
+ actions = newluatable,
+}
+
+implement {
+ name = "useluatable",
+ protected = true,
+ -- public = true,
+ arguments = { "csname", true },
+ actions = newluatable,
+}
+
+implement {
+ name = "disposeluatable",
+ protected = true,
+ public = true,
+ arguments = { "csname" },
+ actions = disposeluatable,
+}
+
+implement {
+ name = "inspectluatable",
+ protected = true,
+ public = true,
+ arguments = { "csname" },
+ actions = inspectluatable,
+}
+
+implement {
+ name = "showluatables",
+ protected = true,
+ public = true,
+ actions = showluatables,
+}
+
+implement {
+ name = "setluatable",
+ protected = true,
+ public = true,
+ arguments = { "csname", "argument" },
+ actions = function(name,data)
+ data = load("return {" .. data .. "}")
+ if data then
+ data = data()
+ if data then
+ setluatable(name,data)
+ end
+ end
+ end
+}
+
+implement {
+ name = "getfromluatable",
+ protected = false,
+ public = true,
+ arguments = { "csname", "argument" },
+ actions = getfromluatable,
+}
+
+implement {
+ name = "idxfromluatable",
+ protected = false,
+ public = true,
+ arguments = { "csname", "integer" },
+ actions = idxfromluatable,
+}
+
+context.luatables = {
+ new = function(name) newluatable(name,false,true) end,
+ use = function(name) useluatable(name,true, true) end,
+ dispose = disposeluatable,
+ set = setluatable,
+ get = getluatable,
+ getfrom = getfromluatable,
+ idxfrom = idxfromluatable,
+ inspect = inspectluatable,
+ show = showluatables,
+}
diff --git a/tex/context/base/mkiv/colo-imp-rgb.mkiv b/tex/context/base/mkiv/colo-imp-rgb.mkiv
index 85122cb44..ab11ae996 100644
--- a/tex/context/base/mkiv/colo-imp-rgb.mkiv
+++ b/tex/context/base/mkiv/colo-imp-rgb.mkiv
@@ -35,12 +35,19 @@
% adapted per 2011.10.28
-\definecolor [lightred] [r=1, g=0, b=0]
-\definecolor [lightgreen] [r=0, g=1, b=0]
-\definecolor [lightblue] [r=0, g=0, b=1]
-\definecolor [lightcyan] [r=0, g=1, b=1]
-\definecolor [lightmagenta] [r=1, g=0, b=1]
-\definecolor [lightyellow] [r=1, g=1, b=0]
+% \definecolor [lightred] [r=1, g=0, b=0]
+% \definecolor [lightgreen] [r=0, g=1, b=0]
+% \definecolor [lightblue] [r=0, g=0, b=1]
+% \definecolor [lightcyan] [r=0, g=1, b=1]
+% \definecolor [lightmagenta] [r=1, g=0, b=1]
+% \definecolor [lightyellow] [r=1, g=1, b=0]
+
+\definecolor [lightred] [r=1, g=0.5, b=0.5] % [.5(red,white)]
+\definecolor [lightgreen] [r=0.5, g=1, b=0.5] % [.5(green,white)]
+\definecolor [lightblue] [r=0.5, g=0.5, b=1] % [.5(blue,white)]
+\definecolor [lightcyan] [r=0.5, g=1, b=1] % [.5(cyan,white)]
+\definecolor [lightmagenta] [r=1, g=0.5, b=1] % [.5(magenta,white)]
+\definecolor [lightyellow] [r=1, g=1, b=0.5] % [.5(yellow,white)]
\definecolor [middlered] [r=.8, g=0, b=0]
\definecolor [middlegreen] [r=0, g=.8, b=0]
diff --git a/tex/context/base/mkiv/cont-new.mkiv b/tex/context/base/mkiv/cont-new.mkiv
index a0e290ba2..269c8d98f 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{2020.05.25 23:36}
+\newcontextversion{2020.06.09 18:53}
%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-performance.tex b/tex/context/base/mkiv/context-performance.tex
index dd3768664..8b6ef11b2 100644
--- a/tex/context/base/mkiv/context-performance.tex
+++ b/tex/context/base/mkiv/context-performance.tex
@@ -1,5 +1,3 @@
-% language=uk
-
\usemodule[art-01,abr-01]
\starttext
diff --git a/tex/context/base/mkiv/context.mkiv b/tex/context/base/mkiv/context.mkiv
index 7a8bc7827..a33d7b1ed 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{2020.05.25 23:36}
+\edef\contextversion{2020.06.09 18:53}
\edef\contextkind {beta}
%D Kind of special:
diff --git a/tex/context/base/mkiv/context.mkxl b/tex/context/base/mkiv/context.mkxl
index 76352fe98..eefe2f97b 100644
--- a/tex/context/base/mkiv/context.mkxl
+++ b/tex/context/base/mkiv/context.mkxl
@@ -29,7 +29,7 @@
%D {YYYY.MM.DD HH:MM} format.
\edef\contextformat {\jobname}
-\edef\contextversion{2020.05.25 23:36}
+\edef\contextversion{2020.06.09 18:53}
\edef\contextkind {beta}
%D Kind of special:
@@ -142,7 +142,7 @@
\loadmarkfile{mult-chk}
\loadmkvifile{mult-dim}
-\loadmarkfile{cldf-int} % interface
+\loadmkxlfile{cldf-int} % interface
\loadmarkfile{trac-ctx} % maybe move up
diff --git a/tex/context/base/mkiv/core-env.lua b/tex/context/base/mkiv/core-env.lua
index 50759dd19..c496a5a8c 100644
--- a/tex/context/base/mkiv/core-env.lua
+++ b/tex/context/base/mkiv/core-env.lua
@@ -47,12 +47,13 @@ local cache = tokens.cache
local iftrue = cache["iftrue"].mode
-local dimencode = cache["scratchdimen"] .command
-local countcode = cache["scratchcounter"] .command
-local tokencode = cache["scratchtoken"] .command
-local skipcode = cache["scratchskip"] .command
-local muskipcode = cache["scratchmuskip"] .command
------ attributecode = cache["scratchattribute"].command
+local dimencode = cache["scratchdimen"] .command -- tokens.commands.assign_dimen
+local countcode = cache["scratchcounter"] .command -- tokens.commands.assign_int
+local tokencode = cache["scratchtoken"] .command -- tokens.commands.assign_toks
+local skipcode = cache["scratchskip"] .command -- tokens.commands.assign_glue
+local muskipcode = cache["scratchmuskip"] .command -- tokens.commands.assign_mu_glue
+----- attributecode = cache["scratchattribute"].command -- tokens.commands.assign_attr
+local conditioncode = cache["iftrue"] .command -- tokens.commands.if_test
local types = {
[dimencode] = "dimen",
@@ -61,6 +62,7 @@ local types = {
[skipcode] = "skip",
[muskipcode] = "muskip",
-- [attributecode] = "attribute",
+ [conditioncode] = "condition"
}
setmetatableindex(texmodes, function(t,k)
@@ -123,6 +125,30 @@ setmetatablenewindex(texifs, function(t,k)
-- just ignore
end)
+if CONTEXTLMTXMODE > 0 then
+
+ iftrue = cache["iftrue"].index
+
+ -- if we really need performance we can have a dedicated cache for each
+ -- kind of variable
+
+ setmetatableindex(texconstants, function(t,k)
+ return cache[k].command == countcode and texgetcount(k) or 0
+ end)
+
+ setmetatableindex(texconditionals, function(t,k) -- 0 == true
+ return cache[k].command == countcode and texgetcount(k) == 0
+ end)
+
+ table.setmetatableindex(texifs, function(t,k)
+ local c = cache[k]
+ print(k)
+ inspect(c)
+ return c.command == conditioncode and c.index == iftrue
+ end)
+
+end
+
tex.isdefined = isdefined
function tex.isdimen(name)
diff --git a/tex/context/base/mkiv/core-lmt.mkxl b/tex/context/base/mkiv/core-lmt.mkxl
index 75a791a50..7fb38e830 100644
--- a/tex/context/base/mkiv/core-lmt.mkxl
+++ b/tex/context/base/mkiv/core-lmt.mkxl
@@ -13,14 +13,11 @@
\writestatus{loading}{ConTeXt System Macros / Primitives}
-%D This is offered temporarily because in the end we don't expect u sers to use the
-%D low level direction directives directly.
-
\registerctxluafile{core-lmt}{}
\unprotect
-% nothing yet
+% nothing here
\protect \endinput
diff --git a/tex/context/base/mkiv/export-example.css b/tex/context/base/mkiv/export-example.css
index 096408ee1..7cfd7f291 100644
--- a/tex/context/base/mkiv/export-example.css
+++ b/tex/context/base/mkiv/export-example.css
@@ -479,8 +479,9 @@ context|div.verbatim {
font-family : "DejaVu Sans Mono", "Lucida Console", monospace ;
}
-/* lines : display */
-/* line : mixed */
+/* lines : display */
+/* line : mixed */
+/* linenumber : inline */
lines,
context|div.lines {
@@ -501,6 +502,15 @@ context|div.line {
white-space : pre-wrap ;
}
+linenumber,
+context|div.linenumber {
+ display : inline-block ;
+ margin-right : 1em ;
+ width : 3em ;
+ text-align : left ;
+ font-family : "DejaVu Sans Mono", "Lucida Console", monospace ;
+}
+
/* synonym : inline */
/* sorting : inline */
diff --git a/tex/context/base/mkiv/export-example.tex b/tex/context/base/mkiv/export-example.tex
index 32cb79c5e..9ef414422 100644
--- a/tex/context/base/mkiv/export-example.tex
+++ b/tex/context/base/mkiv/export-example.tex
@@ -1,5 +1,3 @@
-% language=uk
-
\usemodule[abr-01]
\setupexport
diff --git a/tex/context/base/mkiv/font-fil.mklx b/tex/context/base/mkiv/font-fil.mklx
index 2b8224dfe..65cd64428 100644
--- a/tex/context/base/mkiv/font-fil.mklx
+++ b/tex/context/base/mkiv/font-fil.mklx
@@ -92,7 +92,7 @@
{\expandafter\let\csname\??fontfile\fontclass\m_font_name\endcsname\m_font_file
\doifelsenextoptionalcs\font_basics_define_font_synonym_yes_opt\font_basics_define_font_synonym_yes_nil}
-\unexpanded\def\edefinefontsynonym[#name]#crap[#file]%
+\unexpanded\def\edefinefontsynonym[#name]#ignore[#file]%
{\edef\m_font_name{#name}%
\edef\m_font_file{#file}%
\ifempty\fontclass
@@ -101,33 +101,66 @@
\expandafter\font_basics_define_font_synonym_yes_expanded
\fi}
-\unexpanded\def\font_basics_define_font_synonym_nop_expanded#crap[#spec]%
+\unexpanded\def\font_basics_define_font_synonym_nop_expanded#ignore[#spec]%
{\expandafter\let\csname\??fontfile\m_font_name\endcsname\m_font_file
- \normalexpanded{\font_basics_define_font_synonym_nop_opt[#1]}}
+ \normalexpanded{\font_basics_define_font_synonym_nop_opt[#spec]}}
-\unexpanded\def\font_basics_define_font_synonym_yes_expanded#crap[#spec]%
+\unexpanded\def\font_basics_define_font_synonym_yes_expanded#ignore[#spec]%
{\expandafter\let\csname\??fontfile\fontclass\m_font_name\endcsname\m_font_file
\normalexpanded{\font_basics_define_font_synonym_yes_opt[#spec]}}
+% \unexpanded\def\font_basics_define_font_synonym_nop_opt[#specification]%
+% {\let\p_features \undefined
+% \let\p_fallbacks \undefined
+% \let\p_goodies \undefined
+% \let\p_designsize\undefined
+% \expandafter\font_basics_get_font_parameter_nop#specification,]=,}
+%
+% \unexpanded\def\font_basics_define_font_synonym_yes_opt[#specification]%
+% {\let\p_features \undefined
+% \let\p_fallbacks \undefined
+% \let\p_goodies \undefined
+% \let\p_designsize\undefined
+% \expandafter\font_basics_get_font_parameter_yes#specification,]=,}
+%
+% % todo: check if we can use \edef but then we need to protect \mathsizesuffix .. in fact that
+% % can be default then: \let\mathsizesuffix\relax .. i need to play with it first
+%
+% \def\font_basics_get_font_parameter_nop#key=#value,%
+% {\if]#key%
+% \font_basics_get_font_parameter_nop_finish
+% \else
+% \expandafter\normaldef\csname p_#key\endcsname{#value}% % no edef as we need to keep \mathsizesuffix
+% \expandafter\font_basics_get_font_parameter_nop
+% \fi}
+%
+% \def\font_basics_get_font_parameter_yes#key=#value,%
+% {\if]#key%
+% \font_basics_get_font_parameter_yes_finish
+% \else
+% \expandafter\normaldef\csname p_#key\endcsname{#value}% % no edef as we need to keep \mathsizesuffix
+% \expandafter\font_basics_get_font_parameter_yes
+% \fi}
+
\unexpanded\def\font_basics_define_font_synonym_nop_opt[#specification]%
{\let\p_features \undefined
\let\p_fallbacks \undefined
\let\p_goodies \undefined
\let\p_designsize\undefined
- \expandafter\font_basics_get_font_parameter_nop#specification,]=,}
+ \expandafter\font_basics_get_font_parameter_nop#specification,\ignorearguments}
\unexpanded\def\font_basics_define_font_synonym_yes_opt[#specification]%
{\let\p_features \undefined
\let\p_fallbacks \undefined
\let\p_goodies \undefined
\let\p_designsize\undefined
- \expandafter\font_basics_get_font_parameter_yes#specification,]=,}
+ \expandafter\font_basics_get_font_parameter_yes#specification,\ignorearguments}
% todo: check if we can use \edef but then we need to protect \mathsizesuffix .. in fact that
% can be default then: \let\mathsizesuffix\relax .. i need to play with it first
\def\font_basics_get_font_parameter_nop#key=#value,%
- {\if]#key%
+ {\ifarguments
\font_basics_get_font_parameter_nop_finish
\else
\expandafter\normaldef\csname p_#key\endcsname{#value}% % no edef as we need to keep \mathsizesuffix
@@ -135,7 +168,7 @@
\fi}
\def\font_basics_get_font_parameter_yes#key=#value,%
- {\if]#key%
+ {\ifarguments
\font_basics_get_font_parameter_yes_finish
\else
\expandafter\normaldef\csname p_#key\endcsname{#value}% % no edef as we need to keep \mathsizesuffix
@@ -202,32 +235,66 @@
% todo: replace * by ... less messy with features
+% \def\truefontname#name%
+% {\expandafter\font_helpers_true_fontname#name*\empty*\relax}
+%
+% \def\font_helpers_true_fontname#name*#first#rest*#crap\relax
+% {\ifcsname\??fontfile\fontclass#name\endcsname
+% \ifempty#first%
+% \expandafter\truefontname\lastnamedcs
+% \else
+% \expandafter\font_helpers_true_fontname_check\lastnamedcs*#first#rest%
+% \fi
+% \orelse\ifcsname\??fontfile\defaultfontclass#name\endcsname
+% \ifempty#first%
+% \expandafter\truefontname\lastnamedcs
+% \else
+% \expandafter\font_helpers_true_fontname_check\lastnamedcs*#first#rest%
+% \fi
+% \orelse\ifcsname\??fontfile#name\endcsname
+% \ifempty#first%
+% \expandafter\truefontname\lastnamedcs
+% \else
+% \expandafter\font_helpers_true_fontname_check\lastnamedcs*#first#rest%
+% \fi
+% \else
+% #name\ifempty#first\else*#first#rest\fi
+% \fi}
+%
+% \def\font_helpers_true_fontname_check#name%
+% {\expandafter\font_helpers_true_fontname_check_indeed#name*\relax}
+%
+% \def\font_helpers_true_fontname_check_indeed#name*#crap\relax
+% {\ifcsname\??fontfile\fontclass#name\endcsname
+% \expandafter\font_helpers_true_fontname_check\lastnamedcs
+% \orelse\ifcsname\??fontfile\defaultfontclass#name\endcsname
+% \expandafter\font_helpers_true_fontname_check\lastnamedcs
+% \orelse\ifcsname\??fontfile#name\endcsname
+% \expandafter\font_helpers_true_fontname_check\lastnamedcs
+% \else
+% #name%
+% \fi}
+
\def\truefontname#name%
{\expandafter\font_helpers_true_fontname#name*\empty*\relax}
-\def\font_helpers_true_fontname#name*#first#rest*#crap\relax
+\def\font_helpers_true_fontname#name*#first#rest*#ignore\relax
{\ifcsname\??fontfile\fontclass#name\endcsname
\ifempty#first%
- %\expandafter\truefontname\csname\??fontfile\fontclass#name\endcsname
\expandafter\truefontname\lastnamedcs
\else
- %\expandafter\font_helpers_true_fontname_check\csname\??fontfile\fontclass#name\endcsname*#first#rest%
\expandafter\font_helpers_true_fontname_check\lastnamedcs*#first#rest%
\fi
\orelse\ifcsname\??fontfile\defaultfontclass#name\endcsname
\ifempty#first%
- %\expandafter\truefontname\csname\??fontfile\defaultfontclass#name\endcsname
\expandafter\truefontname\lastnamedcs
\else
- %\expandafter\font_helpers_true_fontname_check\csname\??fontfile\defaultfontclass#name\endcsname*#first#rest%
\expandafter\font_helpers_true_fontname_check\lastnamedcs*#first#rest%
\fi
\orelse\ifcsname\??fontfile#name\endcsname
\ifempty#first%
- %\expandafter\truefontname\csname\??fontfile#name\endcsname
\expandafter\truefontname\lastnamedcs
\else
- %\expandafter\font_helpers_true_fontname_check\csname\??fontfile#name\endcsname*#first#rest%
\expandafter\font_helpers_true_fontname_check\lastnamedcs*#first#rest%
\fi
\else
@@ -237,15 +304,12 @@
\def\font_helpers_true_fontname_check#name%
{\expandafter\font_helpers_true_fontname_check_indeed#name*\relax}
-\def\font_helpers_true_fontname_check_indeed#name*#crap\relax
+\def\font_helpers_true_fontname_check_indeed#name*#ignore\relax
{\ifcsname\??fontfile\fontclass#name\endcsname
- %\expandafter\font_helpers_true_fontname_check\csname\??fontfile\fontclass#name\endcsname
\expandafter\font_helpers_true_fontname_check\lastnamedcs
\orelse\ifcsname\??fontfile\defaultfontclass#name\endcsname
- %\expandafter\font_helpers_true_fontname_check\csname\??fontfile\defaultfontclass#name\endcsname
\expandafter\font_helpers_true_fontname_check\lastnamedcs
\orelse\ifcsname\??fontfile#name\endcsname
- %\expandafter\font_helpers_true_fontname_check\csname\??fontfile#name\endcsname
\expandafter\font_helpers_true_fontname_check\lastnamedcs
\else
#name%
@@ -271,10 +335,8 @@
\def\expandfontsynonym#command#name% one level expansion
{\ifcsname\??fontfile\fontclass#name\endcsname
- %\expandafter\normaldef\expandafter#command\expandafter{\csname\??fontfile\fontclass#name\endcsname}%
\expandafter\normaldef\expandafter#command\expandafter{\lastnamedcs}%
\orelse\ifcsname\??fontfile\defaultfontclass#2\endcsname
- %\expandafter\normaldef\expandafter#command\expandafter{\csname\??fontfile\defaultfontclass#name\endcsname}%
\expandafter\normaldef\expandafter#command\expandafter{\lastnamedcs}%
\fi}
diff --git a/tex/context/base/mkiv/font-fil.mkvi b/tex/context/base/mkiv/font-fil.mkvi
index 8622e733f..f70be13ee 100644
--- a/tex/context/base/mkiv/font-fil.mkvi
+++ b/tex/context/base/mkiv/font-fil.mkvi
@@ -103,7 +103,7 @@
\unexpanded\def\font_basics_define_font_synonym_nop_expanded#crap[#spec]%
{\expandafter\let\csname\??fontfile\m_font_name\endcsname\m_font_file
- \normalexpanded{\font_basics_define_font_synonym_nop_opt[#1]}}
+ \normalexpanded{\font_basics_define_font_synonym_nop_opt[#spec]}}
\unexpanded\def\font_basics_define_font_synonym_yes_expanded#crap[#spec]%
{\expandafter\let\csname\??fontfile\fontclass\m_font_name\endcsname\m_font_file
diff --git a/tex/context/base/mkiv/font-mat.mklx b/tex/context/base/mkiv/font-mat.mklx
index d08a2ce87..da576bf9a 100644
--- a/tex/context/base/mkiv/font-mat.mklx
+++ b/tex/context/base/mkiv/font-mat.mklx
@@ -386,25 +386,13 @@
\font_helpers_synchronize_math_family_mr
\fi}
-\ifdefined \fontid % we need to keep this test for a while
- \appendtoks
- \ifnum\fontid\textfont\zerocount=\fontid\textfont\plusthree
- \letvalue{\??fontmathstoredstrategy\fontclass}\font_helpers_set_math_partial_bold_strategy
- \else
- \letvalue{\??fontmathstoredstrategy\fontclass}\font_helpers_set_math_full_bold_strategy
- \fi
- \to \t_font_math_strategies
-\else
- \appendtoks
- \edef\currentmathfontmr{\fontname\textfont\zerocount}%
- \edef\currentmathfontmb{\fontname\textfont\plusthree}%
- \ifx\currentmathfontmr\currentmathfontmb
- \letvalue{\??fontmathstoredstrategy\fontclass}\font_helpers_set_math_partial_bold_strategy
- \else
- \letvalue{\??fontmathstoredstrategy\fontclass}\font_helpers_set_math_full_bold_strategy
- \fi
- \to \t_font_math_strategies
-\fi
+\appendtoks
+ \ifnum\fontid\textfont\zerocount=\fontid\textfont\plusthree
+ \letvalue{\??fontmathstoredstrategy\fontclass}\font_helpers_set_math_partial_bold_strategy
+ \else
+ \letvalue{\??fontmathstoredstrategy\fontclass}\font_helpers_set_math_full_bold_strategy
+ \fi
+\to \t_font_math_strategies
%def\font_helpers_synchronize_math_bold_strategy{\csname\??fontmathstoredstrategy\fontclass\endcsname}
\def\font_helpers_synchronize_math_bold_strategy{\begincsname\??fontmathstoredstrategy\fontclass\endcsname}
diff --git a/tex/context/base/mkiv/font-ots.lua b/tex/context/base/mkiv/font-ots.lua
index 3b6ea6a72..b612e85e7 100644
--- a/tex/context/base/mkiv/font-ots.lua
+++ b/tex/context/base/mkiv/font-ots.lua
@@ -2056,6 +2056,7 @@ local function chaindisk(head,start,dataset,sequence,rlmode,skiphash,ck)
local sweepnode = sweepnode
local sweeptype = sweeptype
local sweepoverflow = false
+ local checkdisc = getprev(head)
local keepdisc = not sweepnode
local lookaheaddisc = nil
local backtrackdisc = nil
@@ -2089,6 +2090,7 @@ local function chaindisk(head,start,dataset,sequence,rlmode,skiphash,ck)
sweepnode = current
current = getnext(current)
else
+ -- we can use an iterator
while replace and i <= l do
if getid(replace) == glyph_code then
i = i + 1
@@ -2189,7 +2191,7 @@ local function chaindisk(head,start,dataset,sequence,rlmode,skiphash,ck)
local current = prev
local i = f
local t = sweeptype == "pre" or sweeptype == "replace"
- if not current and t and current == checkdisk then
+ if not current and t and current == checkdisc then
current = getprev(sweepnode)
end
while current and i > 1 do -- missing getprev added / moved outside
@@ -2218,7 +2220,7 @@ local function chaindisk(head,start,dataset,sequence,rlmode,skiphash,ck)
end
end
current = getprev(current)
- if t and current == checkdisk then
+ if t and current == checkdisc then
current = getprev(sweepnode)
end
end
@@ -2443,6 +2445,10 @@ local function handle_contextchain(head,start,dataset,sequence,contexts,rlmode,s
local current = start
local last = start
+ if s == 1 then
+ goto next
+ end
+
-- current match
if l > f then
@@ -2512,10 +2518,9 @@ local function handle_contextchain(head,start,dataset,sequence,contexts,rlmode,s
break
end
end
- -- commented, for Kai to check
- -- if n <= l then
- -- notmatchpre[last] = true
- -- end
+ if n <= l then
+ notmatchpre[last] = true
+ end
else
notmatchpre[last] = true
end
diff --git a/tex/context/base/mkiv/grph-trf.mkiv b/tex/context/base/mkiv/grph-trf.mkiv
index 522dd08d6..d6a6acd78 100644
--- a/tex/context/base/mkiv/grph-trf.mkiv
+++ b/tex/context/base/mkiv/grph-trf.mkiv
@@ -969,7 +969,7 @@
\d_grph_rotate_used_height\ht\nextbox
%
\clf_analyzerotate % rather accurate
- \numexpr\p_rotation_rotation\relax
+ \p_rotation_rotation\space
\d_grph_rotate_width
\d_grph_rotate_height
\d_grph_rotate_depth
diff --git a/tex/context/base/mkiv/lpdf-lmt.lua b/tex/context/base/mkiv/lpdf-lmt.lua
index 43c4c1059..90e1fcea2 100644
--- a/tex/context/base/mkiv/lpdf-lmt.lua
+++ b/tex/context/base/mkiv/lpdf-lmt.lua
@@ -2713,7 +2713,8 @@ do
-- pdf.setforcefile(false) -- default anyway
-- end
--
- pdfname = file.addsuffix(tex.jobname,"pdf")
+ -- pdfname = file.addsuffix(tex.jobname,"pdf")
+ pdfname = tex.jobname .. ".pdf"
openfile(pdfname)
--
luatex.registerstopactions(1,function()
diff --git a/tex/context/base/mkiv/lpdf-pde.lua b/tex/context/base/mkiv/lpdf-pde.lua
index ec1064a0d..1c80eb5b2 100644
--- a/tex/context/base/mkiv/lpdf-pde.lua
+++ b/tex/context/base/mkiv/lpdf-pde.lua
@@ -48,6 +48,7 @@ local abs = math.abs
local concat, swapped, sortedhash, sortedkeys = table.concat, table.swapped, table.sortedhash, table.sortedkeys
local utfchar = string.char
local setmetatableindex = table.setmetatableindex
+local ioopen = io.open
local lpegmatch, lpegpatterns = lpeg.match, lpeg.patterns
local P, C, S, R, Ct, Cc, V, Carg, Cs, Cf, Cg = lpeg.P, lpeg.C, lpeg.S, lpeg.R, lpeg.Ct, lpeg.Cc, lpeg.V, lpeg.Carg, lpeg.Cs, lpeg.Cf, lpeg.Cg
@@ -67,6 +68,7 @@ local lpdf_epdf = { }
lpdf.epdf = lpdf_epdf
local pdfopen = pdfe.open
+local pdfopenfile = pdfe.openfile
local pdfnew = pdfe.new
local pdfclose = pdfe.close
@@ -440,8 +442,11 @@ function lpdf_epdf.load(filename,userpassword,ownerpassword,fromstring)
if not document then
statistics.starttiming(lpdf_epdf)
local __data__
+ local __file__
if fromstring then
__data__ = pdfnew(filename,#filename)
+ elseif pdfopenfile then
+ __data__ = pdfopenfile(ioopen(filename,"rb"))
else
__data__ = pdfopen(filename)
end
diff --git a/tex/context/base/mkiv/luat-mac.lua b/tex/context/base/mkiv/luat-mac.lua
index e6789a233..c754f602c 100644
--- a/tex/context/base/mkiv/luat-mac.lua
+++ b/tex/context/base/mkiv/luat-mac.lua
@@ -30,36 +30,89 @@ local report_macros = logs.reporter("interface","macros")
local stack, top, n, hashes = { }, nil, 0, { }
+-- local function set(s)
+-- if top then
+-- n = n + 1
+-- if n > 9 then
+-- report_macros("number of arguments > 9, ignoring %s",s)
+-- else
+-- local ns = #stack
+-- local h = hashes[ns]
+-- if not h then
+-- h = rep("#",2^(ns-1))
+-- hashes[ns] = h
+-- end
+-- if s == "ignore" then
+-- top[s] = ""
+-- return h .. "0"
+-- else
+-- local m = h .. n
+-- top[s] = m
+-- return m
+-- end
+-- end
+-- end
+-- end
+
+-- local function get(s)
+-- if s == "ignore" then
+-- return ""
+-- else
+-- if not top then
+-- report_macros("keeping #%s, no stack",s)
+-- return "#" .. s -- can be lua
+-- end
+-- local m = top[s]
+-- if m then
+-- return m
+-- else
+-- report_macros("keeping #%s, not on stack",s)
+-- return "#" .. s -- quite likely an error
+-- end
+-- end
+-- end
+
local function set(s)
if top then
- n = n + 1
- if n > 9 then
- report_macros("number of arguments > 9, ignoring %s",s)
+ local ns = #stack
+ local h = hashes[ns]
+ if not h then
+ h = rep("#",2^(ns-1))
+ hashes[ns] = h
+ end
+ if s == "ignore" then
+ return h .. "-"
else
- local ns = #stack
- local h = hashes[ns]
- if not h then
- h = rep("#",2^(ns-1))
- hashes[ns] = h
+ n = n + 1
+ if n > 9 then
+ report_macros("number of arguments > 9, ignoring %s",s)
+ elseif s == "discard" then
+ top[s] = ""
+ return h .. "0"
+ else
+ local m = h .. n
+ top[s] = m
+ return m
end
- local m = h .. n
- top[s] = m
- return m
end
end
end
local function get(s)
- if not top then
- report_macros("keeping #%s, no stack",s)
- return "#" .. s -- can be lua
- end
- local m = top[s]
- if m then
- return m
+ if s == "ignore" or s == "discard" then
+ return ""
else
- report_macros("keeping #%s, not on stack",s)
- return "#" .. s -- quite likely an error
+ if not top then
+ report_macros("keeping #%s, no stack",s)
+ return "#" .. s -- can be lua
+ end
+ local m = top[s]
+ if m then
+ return m
+ else
+ report_macros("keeping #%s, not on stack",s)
+ return "#" .. s -- quite likely an error
+ end
end
end
@@ -336,6 +389,8 @@ end
-- ]]))
-- print(macros.preprocessed([[\checked \def \bla #bla{bla#{bla}}]]))
+-- print(macros.preprocessed([[\checked \def \bla #bla#discard#foo{bla#{bla}+#ignore+bla#foo}]]))
+-- print(macros.preprocessed([[\checked \def \bla #bla#ignore#foo{bla#{bla}+#ignore+bla#foo}]]))
-- print(macros.preprocessed([[\def\bla#bla{#{bla}bla}]]))
-- print(macros.preprocessed([[\def\blä#{blá}{blà:#{blá}}]]))
-- print(macros.preprocessed([[\def\blä#bla{blà:#bla}]]))
diff --git a/tex/context/base/mkiv/math-ini.mkxl b/tex/context/base/mkiv/math-ini.mkxl
index 9cc3dfe1f..41b4e5d53 100644
--- a/tex/context/base/mkiv/math-ini.mkxl
+++ b/tex/context/base/mkiv/math-ini.mkxl
@@ -427,10 +427,8 @@
\unexpanded\def\math_set_font_style_alternate#1%
{\ifcsname\??mathstylealternative\fontclass:#1\endcsname
- %\expandafter\math_set_font_alternate\csname\??mathstylealternate\fontclass:#1\endcsname
\expandafter\math_set_font_alternate\lastnamedcs
\orelse\ifcsname\??mathstylealternative#1\endcsname
- %\expandafter\math_set_font_alternate\csname\??mathstylealternate#1\endcsname
\expandafter\math_set_font_alternate\lastnamedcs
\fi}
@@ -719,15 +717,15 @@
\unexpanded\def\math_strut_normal
{\vrule
- \normalexpanded{\math_strut_htdp{\mathstylefont\normalmathstyle}}%
\s!width \zeropoint
+ \normalexpanded{\math_strut_htdp{\mathstylefont\normalmathstyle}}%
\relax}
\unexpanded\def\math_strut_visual
{\hskip-.01\emwidth
\vrule
- \normalexpanded{\math_strut_htdp{\mathstylefont\normalmathstyle}}%
\s!width .02\emwidth
+ \normalexpanded{\math_strut_htdp{\mathstylefont\normalmathstyle}}%
\relax
\hskip-.01\emwidth}
diff --git a/tex/context/base/mkiv/math-rad.mkvi b/tex/context/base/mkiv/math-rad.mkvi
index c640e768e..c279c3526 100644
--- a/tex/context/base/mkiv/math-rad.mkvi
+++ b/tex/context/base/mkiv/math-rad.mkvi
@@ -26,12 +26,24 @@
% \def\rootradical{\Uroot \defaultmathfamily "221A } % can be done in char-def
% \def\surdradical{\Uradical \defaultmathfamily "221A } % can be done in char-def
-\def\root#1\of{\rootradical{#1}} % #2
+\unexpanded\def\root#1\of{\rootradical{#1}} % #2
\unexpanded\def\sqrt{\doifelsenextoptionalcs\rootwithdegree\rootwithoutdegree}
-\unexpanded\def\styledrootradical#1#2% so that \text works ok ... \rootradical behaves somewhat weird
- {\normalexpanded{\rootradical{\normalunexpanded{#1}}{\noexpand\triggermathstyle{\normalmathstyle}\normalunexpanded{#2}}}}
+\ifcase \contextlmtxmode
+
+ \unexpanded\def\styledrootradical#1#2% so that \text works ok ... \rootradical behaves somewhat weird
+ {\normalexpanded{\rootradical
+ {\normalunexpanded{#1}}%
+ {\noexpand\triggermathstyle{\number\normalmathstyle}%
+ \normalunexpanded{#2}}}}
+
+\else % experimental new keyword: (maybe keywords should come after the symbol)
+
+ \unexpanded\def\styledrootradical#1#2% so that \text works ok ... \rootradical behaves somewhat weird
+ {\Uroot style \normalmathstyle "0 "221A {#1}{#2}}
+
+\fi
\unexpanded\def\rootwithdegree[#1]{\rootradical{#1}}
\unexpanded\def\rootwithoutdegree {\rootradical {}}
diff --git a/tex/context/base/mkiv/mult-aux.mkxl b/tex/context/base/mkiv/mult-aux.mkxl
index e73b5ef45..74e717128 100644
--- a/tex/context/base/mkiv/mult-aux.mkxl
+++ b/tex/context/base/mkiv/mult-aux.mkxl
@@ -168,6 +168,10 @@
%D manual does less than 6000 assignments and the payoff starts around a tenfold of
%D that. But \unknown\ it's less tracing, so that's another benefit.
+%D Watch out: we accept that a \[k=v,,k=v] will generate a case where a key can become
+%D a comma and trigger a warning but we intercept that elsewhere. The alternative is
+%D to skip to the comma first which takes more time.
+
\let\m_mult_interfaces_namespace\empty
\def\mult_interfaces_get_parameters#1[#2%
@@ -201,8 +205,11 @@
\mult_interfaces_adef\m_mult_interfaces_namespace{#1}{#2}%
\fi}
-\def\mult_interfaces_get_parameters_item_error#0#0#0#4#5%
- {\mult_interfaces_get_parameters_error_indeed{#4}{#5}}
+% \def\mult_interfaces_get_parameters_item_error#0#0#0#4#5%
+% {\if,#5\else\mult_interfaces_get_parameters_error_indeed{#4}{#5}\fi}
+
+\def\mult_interfaces_get_parameters_item_error#-#-#-#1#2%
+ {\if,#2\else\mult_interfaces_get_parameters_error_indeed{#1}{#2}\fi}
\startinterface english
@@ -215,18 +222,27 @@
\expandafter\def\csname\m_mult_interfaces_namespace#1\endcsname{#2}%
\fi}
- \def\mult_interfaces_get_parameters_item_error#0\csname#2#3\endcsname#0%
- {\mult_interfaces_get_parameters_error_indeed{#2}{#3}}
+% \def\mult_interfaces_get_parameters_item_error#0\csname#2#3\endcsname#0%
+% {\if,#3\else\mult_interfaces_get_parameters_error_indeed{#2}{#3}\fi}
+
+ \def\mult_interfaces_get_parameters_item_error#-\csname#1#2\endcsname#-%
+ {\if,#2\else\mult_interfaces_get_parameters_error_indeed{#1}{#2}\fi}
\stopinterface
%D Used?
-\def\mult_check_for_assignment_indeed#0=#2#0^^^^0004%
- {\if#2^^^^0003\assignmentfalse\else\assignmenttrue\fi}
+% \def\mult_check_for_assignment_indeed#0=#2#0^^^^0004%
+% {\if#2^^^^0003\assignmentfalse\else\assignmenttrue\fi}
+%
+% \def\mult_check_for_assignment_indeed_begin_#0=#2#0^^^^0004%
+% {\if#2^^^^0003}
+
+\def\mult_check_for_assignment_indeed#-=#1#-^^^^0004%
+ {\if#1^^^^0003\assignmentfalse\else\assignmenttrue\fi}
-\def\mult_check_for_assignment_indeed_begin_#0=#2#0^^^^0004%
- {\if#2^^^^0003}
+\def\mult_check_for_assignment_indeed_begin_#-=#1#-^^^^0004%
+ {\if#1^^^^0003}
\def\mult_check_for_assignment#1%
{\expandafter\mult_check_for_assignment_indeed\detokenize{#1}=^^^^0003^^^^0003^^^^0004}
diff --git a/tex/context/base/mkiv/mult-ini.lua b/tex/context/base/mkiv/mult-ini.lua
index 0c8581281..3dc425953 100644
--- a/tex/context/base/mkiv/mult-ini.lua
+++ b/tex/context/base/mkiv/mult-ini.lua
@@ -454,16 +454,18 @@ implement {
local function showassignerror(namespace,key,line)
- local ns, instance = match(namespace,"^(%d+)[^%a]+(%a*)")
- if ns then
- namespace = corenamespaces[tonumber(ns)] or ns
- end
- -- injected in the stream for timing:
- if instance and instance ~= "" then
- context.writestatus("setup",formatters["error in line %a, namespace %a, instance %a, key %a"](line,namespace,instance,key))
- else
- context.writestatus("setup",formatters["error in line %a, namespace %a, key %a"](line,namespace,key))
- end
+ -- if key and key ~= "" and key ~= "," then
+ local ns, instance = match(namespace,"^(%d+)[^%a]+(%a*)")
+ if ns then
+ namespace = corenamespaces[tonumber(ns)] or ns
+ end
+ -- injected in the stream for timing:
+ if instance and instance ~= "" then
+ context.writestatus("setup",formatters["error in line %a, namespace %a, instance %a, key %a"](line,namespace,instance,key))
+ else
+ context.writestatus("setup",formatters["error in line %a, namespace %a, key %a"](line,namespace,key))
+ end
+ -- end
end
implement {
diff --git a/tex/context/base/mkiv/mult-low.lua b/tex/context/base/mkiv/mult-low.lua
index ec65d6a7c..58202fa1a 100644
--- a/tex/context/base/mkiv/mult-low.lua
+++ b/tex/context/base/mkiv/mult-low.lua
@@ -57,7 +57,8 @@ return {
"spacecatcode", "lettercatcode", "othercatcode", "activecatcode", "commentcatcode", "invalidcatcode",
--
"tabasciicode", "newlineasciicode", "formfeedasciicode", "endoflineasciicode", "endoffileasciicode",
- "spaceasciicode", "hashasciicode", "dollarasciicode", "commentasciicode", "ampersandasciicode",
+ "commaasciicode", "spaceasciicode", "periodasciicode",
+ "hashasciicode", "dollarasciicode", "commentasciicode", "ampersandasciicode",
"colonasciicode", "backslashasciicode", "circumflexasciicode", "underscoreasciicode",
"leftbraceasciicode", "barasciicode", "rightbraceasciicode", "tildeasciicode", "delasciicode",
"leftparentasciicode", "rightparentasciicode",
diff --git a/tex/context/base/mkiv/mult-prm.lua b/tex/context/base/mkiv/mult-prm.lua
index 91afcf524..e4ff584b4 100644
--- a/tex/context/base/mkiv/mult-prm.lua
+++ b/tex/context/base/mkiv/mult-prm.lua
@@ -271,8 +271,10 @@ return {
"etoksapp",
"etokspre",
"exceptionpenalty",
+ "expandafterpars",
"expandafterspaces",
"expanded",
+ "expandtoken",
"explicitdiscretionary",
"explicithyphenpenalty",
"firstvalidlanguage",
@@ -329,6 +331,7 @@ return {
"lastnodesubtype",
"leftmarginkern",
"letcharcode",
+ "letdatacode",
"letfrozen",
"letprotected",
"linedirection",
diff --git a/tex/context/base/mkiv/pack-rul.mkiv b/tex/context/base/mkiv/pack-rul.mkiv
index ba81a0956..393668c60 100644
--- a/tex/context/base/mkiv/pack-rul.mkiv
+++ b/tex/context/base/mkiv/pack-rul.mkiv
@@ -1900,7 +1900,7 @@
{\iffirstargument
\setupcurrentmathframed[#1]%
\fi
- \c_framed_mstyle\mathstyle
+ \c_framed_mstyle\normalmathstyle
\edef\m_framed_location{\mathframedparameter\c!location}%
\ifx\m_framed_location\v!mathematics
\let\normalstrut\pack_framed_math_pos
diff --git a/tex/context/base/mkiv/pack-rul.mkxl b/tex/context/base/mkiv/pack-rul.mkxl
index 4fef06ad0..6268aad3e 100644
--- a/tex/context/base/mkiv/pack-rul.mkxl
+++ b/tex/context/base/mkiv/pack-rul.mkxl
@@ -1949,7 +1949,7 @@
{\iffirstargument
\setupcurrentmathframed[#1]%
\fi
- \c_framed_mstyle\mathstyle
+ \c_framed_mstyle\normalmathstyle
\edef\m_framed_location{\mathframedparameter\c!location}%
\ifx\m_framed_location\v!mathematics
\let\normalstrut\pack_framed_math_pos
diff --git a/tex/context/base/mkiv/page-bck.mkiv b/tex/context/base/mkiv/page-bck.mkiv
index 1ec7cdbb8..1af681049 100644
--- a/tex/context/base/mkiv/page-bck.mkiv
+++ b/tex/context/base/mkiv/page-bck.mkiv
@@ -269,14 +269,14 @@
\def\page_backgrounds_set_boxes_b
{\ifconditional\c_page_backgrounds_new_left
% \showmessage\m!layouts8\empty
- \page_backgrounds_set_box\leftbackground % \conditionalfalse
+ \page_backgrounds_set_box\leftbackground
\global\setfalse\c_page_backgrounds_new_left
\fi}
\def\page_backgrounds_set_boxes_c
{\ifconditional\c_page_backgrounds_new_right
% \showmessage\m!layouts8\empty
- \page_backgrounds_set_box\rightbackground % \conditionaltrue
+ \page_backgrounds_set_box\rightbackground
\global\setfalse\c_page_backgrounds_new_right
\fi}
diff --git a/tex/context/base/mkiv/page-lin.mkvi b/tex/context/base/mkiv/page-lin.mkvi
index 6a03d12e4..4debcb68f 100644
--- a/tex/context/base/mkiv/page-lin.mkvi
+++ b/tex/context/base/mkiv/page-lin.mkvi
@@ -16,6 +16,9 @@
%
% to be redone (was experiment) .. can be hooked into margin code
% reshuffle arguments
+%
+% this is early luatex code, 2007 or even before that, and it shows ... we
+% have better tricks now
\writestatus{loading}{ConTeXt Core Macros / Line Numbering}
@@ -348,6 +351,7 @@
\def\page_lines_add_numbers_to_box#box#column#max#nesting%
{\bgroup
+ \strc_tags_enable_indeed
\b_page_lines_number #box\relax
\c_page_lines_column #column\relax
\c_page_lines_last_column#max\relax
@@ -459,24 +463,34 @@
% \def\dodollap{\hbox to \zeropoint{\normalhss\box\nextbox}\endgroup}
\def\page_line_handle_left#align#width#distance%
- {\llap
+ {\dostarttagged\t!linenumber\empty
+ \llap
{\page_lines_number_inject#align#width%
+ \dostarttagged\t!ignore\empty
\kern\dimexpr
#distance+\d_page_lines_distance
\ifconditional\c_page_lines_dir_left_to_right\else+\d_page_lines_line_width\fi
\relax
\the\everylinenumber
- \hss}}
+ \hss
+ \dostoptagged}%
+ \dostoptagged}
\def\page_line_handle_right#align#width#distance%
- {\rlap
- {\kern\dimexpr
+ {\dostarttagged\t!linenumber\empty
+ \rlap
+ {\dostarttagged\t!ignore\empty
+ \kern\dimexpr
#distance+\d_page_lines_distance
\ifconditional\c_page_lines_dir_left_to_right+\d_page_lines_line_width\fi
\relax
+ \dostoptagged
\page_lines_number_inject#align#width%
+ \dostarttagged\t!ignore\empty
\the\everylinenumber
- \hss}}
+ \hss
+ \dostoptagged}%
+ \dostoptagged}
\setuvalue{\??linenumberinghandler\v!left}%
{\page_line_handle_left\p_align\leftmarginwidth\leftmargindistance}
diff --git a/tex/context/base/mkiv/status-files.pdf b/tex/context/base/mkiv/status-files.pdf
index 3aa2579ce..e57661b9e 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 713f812fa..271444c2d 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-tag.lua b/tex/context/base/mkiv/strc-tag.lua
index 88e0f108d..694f7bdf0 100644
--- a/tex/context/base/mkiv/strc-tag.lua
+++ b/tex/context/base/mkiv/strc-tag.lua
@@ -104,6 +104,7 @@ local properties = allocate { -- todo: more "record = true" to improve forma
lines = { pdf = "Code", nature = "display" },
line = { pdf = "Code", nature = "mixed" },
+ linenumber = { pdf = "Span", nature = "inline" },
synonym = { pdf = "Span", nature = "inline" },
sorting = { pdf = "Span", nature = "inline" },
@@ -362,7 +363,9 @@ function tags.start(tag,specification)
metadata = nil
end
local userdata = specification.userdata
- if userdata ~= "" and type(userdata) == "string" then
+ if userdata == "" then
+ specification.userdata = nil
+ elseif type(userdata) == "string" then
specification.userdata = settings_to_hash(userdata)
end
local detail = specification.detail
diff --git a/tex/context/base/mkiv/strc-tag.mkiv b/tex/context/base/mkiv/strc-tag.mkiv
index 83ee03090..ab532f0ef 100644
--- a/tex/context/base/mkiv/strc-tag.mkiv
+++ b/tex/context/base/mkiv/strc-tag.mkiv
@@ -61,6 +61,7 @@
\def\t!lines {lines} % Code
\def\t!line {line} % Code
+\def\t!linenumber {linenumber} % Span
\def\t!sorting {sorting} % Span
\def\t!synonym {synonym} % Span
@@ -329,11 +330,8 @@
\chardef\strc_tags_placeholder_char\zerocount % "FFFC
-\unexpanded\def\strc_tags_enable
- {% once enable one is toast
- \global\settrue\c_strc_tags_enabled
- % and gets:
- \let\dotaggedplaceholder \strc_tags_placeholder_char
+\unexpanded\def\strc_tags_enable_indeed
+ {\let\dotaggedplaceholder \strc_tags_placeholder_char
\let\dostarttagged \strc_tags_enabled_start_detail
\let\dostarttaggednodetail\strc_tags_enabled_start_no_detail
\let\dostarttaggedchained \strc_tags_enabled_start_chained
@@ -341,6 +339,12 @@
\let\dostartignoretagging \strc_tags_start_yes_ignore
\let\dostopignoretagging \strc_tags_stop_yes_ignore}
+\unexpanded\def\strc_tags_enable
+ {% once enable one is toast
+ \global\settrue\c_strc_tags_enabled
+ % and gets:
+ \strc_tags_enable_indeed}
+
\unexpanded\def\strc_tags_disable
{\ifconditional\c_strc_tags_enabled
% so now all are artifacts
diff --git a/tex/context/base/mkiv/supp-box.lua b/tex/context/base/mkiv/supp-box.lua
index 8c615b528..353562344 100644
--- a/tex/context/base/mkiv/supp-box.lua
+++ b/tex/context/base/mkiv/supp-box.lua
@@ -28,6 +28,11 @@ local vlist_code = nodecodes.vlist
local glue_code = nodecodes.glue
local penalty_code = nodecodes.penalty
local glyph_code = nodecodes.glyph
+local localpar_code = nodecodes.localpar
+
+local indent_code = nodes.listcodes.indent
+
+local hmode_code = tex.modelevels.horizontal
local nuts = nodes.nuts
local tonut = nuts.tonut
@@ -39,6 +44,7 @@ local getprev = nuts.getprev
local getboth = nuts.getboth
local getdisc = nuts.getdisc
local getid = nuts.getid
+local getsubtype = nuts.getsubtype
local getlist = nuts.getlist
local getattribute = nuts.getattribute
local getbox = nuts.getbox
@@ -89,6 +95,7 @@ local setlistcolor = nodes.tracers.colors.setlist
local texget = tex.get
local texgetbox = tex.getbox
local texsetdimen = tex.setdimen
+local texgetnest = tex.getnest
local function hyphenatedlist(head,usecolor)
local current = head and tonut(head)
@@ -828,24 +835,50 @@ implement {
if CONTEXTLMTXMODE > 0 then
-
interfaces.implement {
name = "widthuptohere",
public = true,
protected = true,
value = true,
actions = function()
- local n = tex.getnest()
+ local n = texgetnest()
local w = 0
- if n.mode == tex.modelevels.horizontal then
- local h = nodes.hpack(n.head.next)
- w = h.width
- h.list = nil
- nodes.free(h)
+ if n.mode == hmode_code then
+ local h = hpack(getnext(tonut(n.head)))
+ w = getwidth(h)
+ setlist(h)
+ free(h)
end
return tokens.values.dimension, w
end,
}
-
end
+
+interfaces.implement {
+ name = "doifelseindented",
+ public = true,
+ protected = true,
+ actions = function()
+ local n = texgetnest()
+ local b = false
+ if n.mode == hmode_code then
+ n = tonut(n.head)
+ while n do
+ n = getnext(n)
+ if n then
+ local id = getid(n)
+ if id == hlist_code then
+ if getsubtype(n) == indent_code then
+ b = getwidth(n) > 0
+ break
+ end
+ elseif id ~= localpar_code then
+ break
+ end
+ end
+ end
+ end
+ commands.doifelse(b)
+ end,
+}
diff --git a/tex/context/base/mkiv/supp-box.mkiv b/tex/context/base/mkiv/supp-box.mkiv
index 74a3462dd..35b400b09 100644
--- a/tex/context/base/mkiv/supp-box.mkiv
+++ b/tex/context/base/mkiv/supp-box.mkiv
@@ -220,7 +220,7 @@
\newcount\c_boxes_math_style
\unexpanded\def\syst_boxes_math_set_nextbox#1%
- {\c_boxes_math_style\mathstyle
+ {\c_boxes_math_style\normalmathstyle
\setbox\nextbox\hbox{\normalstartimath\mathsurround\zeropoint\triggermathstyle\c_boxes_math_style{#1}\normalstopimath}}
%D \macros
diff --git a/tex/context/base/mkiv/supp-box.mkxl b/tex/context/base/mkiv/supp-box.mkxl
index af1030f2f..bb3c71aaa 100644
--- a/tex/context/base/mkiv/supp-box.mkxl
+++ b/tex/context/base/mkiv/supp-box.mkxl
@@ -189,7 +189,7 @@
\newcount\c_boxes_math_style
\unexpanded\def\syst_boxes_math_set_nextbox#1%
- {\c_boxes_math_style\mathstyle
+ {\c_boxes_math_style\normalmathstyle
\setbox\nextbox\hbox{\normalstartimath\mathsurround\zeropoint\triggermathstyle\c_boxes_math_style{#1}\normalstopimath}}
%D \macros
diff --git a/tex/context/base/mkiv/syst-aux.mkxl b/tex/context/base/mkiv/syst-aux.mkxl
index c92201aa2..d78a7b307 100644
--- a/tex/context/base/mkiv/syst-aux.mkxl
+++ b/tex/context/base/mkiv/syst-aux.mkxl
@@ -201,21 +201,37 @@
%D is more efficient but it probably won't be noticed. It's anyway cheaper on memory
%D access.
-\def\gobbleoneargument #0{}
-\def\gobbletwoarguments #0#0{}
-\def\gobblethreearguments #0#0#0{}
-\def\gobblefourarguments #0#0#0#0{}
-\def\gobblefivearguments #0#0#0#0{}
-\def\gobblesixarguments #0#0#0#0{}
-\def\gobblesevenarguments #0#0#0#0#0{}
-\def\gobbleeightarguments #0#0#0#0#0#0{}
-\def\gobbleninearguments #0#0#0#0#0#0#0{}
-
-\def\gobbleoneoptional [#0]{}
-\def\gobbletwooptionals [#0][#0]{}
-\def\gobblethreeoptionals[#0][#0][#0]{}
-\def\gobblefouroptionals [#0][#0][#0][#0]{}
-\def\gobblefiveoptionals [#0][#0][#0][#0][#0]{}
+% \def\gobbleoneargument #0{}
+% \def\gobbletwoarguments #0#0{}
+% \def\gobblethreearguments #0#0#0{}
+% \def\gobblefourarguments #0#0#0#0{}
+% \def\gobblefivearguments #0#0#0#0{}
+% \def\gobblesixarguments #0#0#0#0{}
+% \def\gobblesevenarguments #0#0#0#0#0{}
+% \def\gobbleeightarguments #0#0#0#0#0#0{}
+% \def\gobbleninearguments #0#0#0#0#0#0#0{}
+%
+% \def\gobbleoneoptional [#0]{}
+% \def\gobbletwooptionals [#0][#0]{}
+% \def\gobblethreeoptionals[#0][#0][#0]{}
+% \def\gobblefouroptionals [#0][#0][#0][#0]{}
+% \def\gobblefiveoptionals [#0][#0][#0][#0][#0]{}
+
+\def\gobbleoneargument #-{}
+\def\gobbletwoarguments #-#-{}
+\def\gobblethreearguments #-#-#-{}
+\def\gobblefourarguments #-#-#-#-{}
+\def\gobblefivearguments #-#-#-#-{}
+\def\gobblesixarguments #-#-#-#-{}
+\def\gobblesevenarguments #-#-#-#-#-{}
+\def\gobbleeightarguments #-#-#-#-#-#-{}
+\def\gobbleninearguments #-#-#-#-#-#-#-{}
+
+\def\gobbleoneoptional [#-]{}
+\def\gobbletwooptionals [#-][#-]{}
+\def\gobblethreeoptionals[#-][#-][#-]{}
+\def\gobblefouroptionals [#-][#-][#-][#-]{}
+\def\gobblefiveoptionals [#-][#-][#-][#-][#-]{}
%D Reserved macros for tests:
@@ -621,31 +637,65 @@
%D These are normally only used for keywords, i.e.\ strings so we can delegate
%D the work to \LUA:
-% \unexpanded\def\doifelseinset#1#2{\clf_doifelseinset{#1}{#2}}
-% \unexpanded\def\doifinset #1#2{\clf_doifinset {#1}{#2}}
-% \unexpanded\def\doifnotinset #1#2{\clf_doifnotinset {#1}{#2}}
+\unexpanded\def\doifelseinset#1#2{\clf_doifelseinset{#1}{#2}}
+\unexpanded\def\doifinset #1#2{\clf_doifinset {#1}{#2}}
+\unexpanded\def\doifnotinset #1#2{\clf_doifnotinset {#1}{#2}}
% % \let\firstinset \clf_firstinset
-\unexpanded\def\doifelseinset#1#2%
- {\ifhasxtoks{,#1,}{,#2,}%
- \expandafter\firstoftwoarguments
- \else
- \expandafter\secondoftwoarguments
- \fi}
+% These don't accept spaces after commas:
+%
+% \unexpanded\def\doifelseinset#1#2%
+% {\ifhasxtoks{,#1,}{,#2,}%
+% \expandafter\firstoftwoarguments
+% \else
+% \expandafter\secondoftwoarguments
+% \fi}
-\unexpanded\def\doifinset#1#2%
- {\ifhasxtoks{,#1,}{,#2,}%
- \expandafter\firstofoneargument
- \else
- \expandafter\gobbleoneargument
- \fi}
+% \unexpanded\def\doifinset#1#2%
+% {\ifhasxtoks{,#1,}{,#2,}%
+% \expandafter\firstofoneargument
+% \else
+% \expandafter\gobbleoneargument
+% \fi}
-\unexpanded\def\doifnotinset#1#2%
- {\ifhasxtoks{,#1,}{,#2,}%
- \expandafter\gobbleoneargument
- \else
- \expandafter\firstofoneargument
- \fi}
+% \unexpanded\def\doifnotinset#1#2%
+% {\ifhasxtoks{,#1,}{,#2,}%
+% \expandafter\gobbleoneargument
+% \else
+% \expandafter\firstofoneargument
+% \fi}
+
+% But these do:
+
+\edef\a!comma{\expandtoken \ignorecatcode \commaasciicode}
+\edef\a!space{\expandtoken \ignorecatcode \spaceasciicode}
+
+\normalexpanded {
+
+ \unexpanded \def \noexpand \doifelseinset#1#2%
+ {\noexpand\ifhasxtoks{,\a!space#1,}{,#2,}%
+ \noexpand\expandafter\noexpand\firstoftwoarguments
+ \noexpand\else
+ \noexpand\expandafter\noexpand\secondoftwoarguments
+ \noexpand\fi}
+
+ \unexpanded \def \noexpand \doifinset#1#2%
+ {\noexpand\ifhasxtoks{,\a!space#1,}{,#2,}%
+ \noexpand\expandafter\noexpand\firstofoneargument
+ \noexpand\else
+ \noexpand\expandafter\noexpand\gobbleoneargument
+ \noexpand\fi}
+
+ \unexpanded \def \noexpand \doifnotinset#1#2%
+ {\noexpand\ifhasxtoks{,\a!space#1,}{,#2,}%
+ \noexpand\expandafter\noexpand\gobbleoneargument
+ \noexpand\else
+ \noexpand\expandafter\noexpand\firstofoneargument
+ \noexpand\fi}
+
+}
+
+%D Done.
\let\doifinsetelse\doifelseinset
@@ -769,10 +819,15 @@
\normalexpanded{\noexpand\expandafterspaces\syst_helpers_process_comma_item#1,}\ignorearguments\ignorearguments\ignorearguments
\popmacro\commalistcommand}
+% \let\syst_helpers_process_comma_item_next_a \syst_helpers_process_comma_item_next
+% \def\syst_helpers_process_comma_item_next_b#0\ignorearguments{\let\syst_helpers_process_comma_item_next\syst_helpers_process_comma_item_next_a}
+% \def\syst_helpers_process_comma_item_next_c#0\ignorearguments{\let\syst_helpers_process_comma_item_next\syst_helpers_process_comma_item_next_b}
+% \def\syst_helpers_process_comma_item_gobble#0\ignorearguments{}
+
\let\syst_helpers_process_comma_item_next_a \syst_helpers_process_comma_item_next
-\def\syst_helpers_process_comma_item_next_b#0\ignorearguments{\let\syst_helpers_process_comma_item_next\syst_helpers_process_comma_item_next_a}
-\def\syst_helpers_process_comma_item_next_c#0\ignorearguments{\let\syst_helpers_process_comma_item_next\syst_helpers_process_comma_item_next_b}
-\def\syst_helpers_process_comma_item_gobble#0\ignorearguments{}
+\def\syst_helpers_process_comma_item_next_b#-\ignorearguments{\let\syst_helpers_process_comma_item_next\syst_helpers_process_comma_item_next_a}
+\def\syst_helpers_process_comma_item_next_c#-\ignorearguments{\let\syst_helpers_process_comma_item_next\syst_helpers_process_comma_item_next_b}
+\def\syst_helpers_process_comma_item_gobble#-\ignorearguments{}
\unexpanded\def\quitcommalist {\let\syst_helpers_process_comma_item_next\syst_helpers_process_comma_item_next_b}
\unexpanded\def\quitprevcommalist{\let\syst_helpers_process_comma_item_next\syst_helpers_process_comma_item_next_c}
@@ -1298,7 +1353,10 @@
\fi
\fi}
-\def\syst_helpers_raw_process_action_gobble#0\ignorearguments
+% \def\syst_helpers_raw_process_action_gobble#0\ignorearguments
+% {}
+
+\def\syst_helpers_raw_process_action_gobble#-\ignorearguments
{}
\def\syst_helpers_raw_process_action_next
@@ -1483,10 +1541,16 @@
\def\syst_helpers_grab_parameter_next
{\expandafterspaces\syst_helpers_grab_parameter}
-\unexpanded\def\dogetparameters#1[#2]#0[#4]%
+% \unexpanded\def\dogetparameters#1[#2]#0[#4]%
+% {\def\m_syst_parameter_n{#2}%
+% \let\m_syst_parameter_s#1%
+% \expandafterspaces\syst_helpers_grab_parameter#4\ignorearguments\ignorearguments}
+
+\unexpanded\def\dogetparameters#1[#2]#-[#3]%
{\def\m_syst_parameter_n{#2}%
\let\m_syst_parameter_s#1%
- \expandafterspaces\syst_helpers_grab_parameter#4\ignorearguments\ignorearguments}
+ \expandafterspaces\syst_helpers_grab_parameter#3\ignorearguments\ignorearguments}
+
%D \macros
%D {getemptyparameters}
@@ -1634,7 +1698,7 @@
\def\commalistsize{0}
-\def\syst_helpers_get_comma_list_size#0,%
+\def\syst_helpers_get_comma_list_size#0,% no #- as we need to count
{\ifarguments\or
\advance\commalistcounter\plusone
\expandafter\syst_helpers_get_comma_list_size
@@ -1665,7 +1729,9 @@
%D Filters:
-\def\syst_helpers_gobble_comma_list#0\ignorearguments{}
+% \def\syst_helpers_gobble_comma_list#0\ignorearguments{}
+
+\def\syst_helpers_gobble_comma_list#-\ignorearguments{}
\def\syst_helpers_get_from_comma_list#1,%
{\ifarguments \or
@@ -2505,32 +2571,59 @@
% \def\fifthofsixarguments #1#2#3#4#5#6{#5}
% \def\sixthofsixarguments #1#2#3#4#5#6{#6}
+% \def\firstofoneargument #1{#1}
+%
+% \def\firstoftwoarguments #1#0{#1}
+% \def\secondoftwoarguments #0#2{#2}
+%
+% \def\firstofthreearguments #1#0#0{#1}
+% \def\secondofthreearguments #0#2#0{#2}
+% \def\thirdofthreearguments #0#0#3{#3}
+%
+% \def\firstoffourarguments #1#0#0#0{#1}
+% \def\secondoffourarguments #0#2#0#0{#2}
+% \def\thirdoffourarguments #0#0#3#0{#3}
+% \def\fourthoffourarguments #0#0#0#4{#4}
+%
+% \def\firstoffivearguments #1#0#0#0#0{#1}
+% \def\secondoffivearguments #0#2#0#0#0{#2}
+% \def\thirdoffivearguments #0#0#3#0#0{#3}
+% \def\fourthoffivearguments #0#0#0#4#0{#4}
+% \def\fifthoffivearguments #0#0#0#0#5{#5}
+%
+% \def\firstofsixarguments #1#0#0#0#0#0{#1}
+% \def\secondofsixarguments#0#2#0#0#0#0{#2}
+% \def\thirdofsixarguments #0#0#3#0#0#0{#3}
+% \def\fourthofsixarguments#0#0#0#4#0#0{#4}
+% \def\fifthofsixarguments #0#0#0#0#5#0{#5}
+% \def\sixthofsixarguments #0#0#0#0#0#6{#6}
+
\def\firstofoneargument #1{#1}
-\def\firstoftwoarguments #1#0{#1}
-\def\secondoftwoarguments #0#2{#2}
+\def\firstoftwoarguments #1#-{#1}
+\def\secondoftwoarguments #-#1{#1}
-\def\firstofthreearguments #1#0#0{#1}
-\def\secondofthreearguments #0#2#0{#2}
-\def\thirdofthreearguments #0#0#3{#3}
+\def\firstofthreearguments #1#-#-{#1}
+\def\secondofthreearguments #-#1#-{#1}
+\def\thirdofthreearguments #-#-#1{#1}
-\def\firstoffourarguments #1#0#0#0{#1}
-\def\secondoffourarguments #0#2#0#0{#2}
-\def\thirdoffourarguments #0#0#3#0{#3}
-\def\fourthoffourarguments #0#0#0#4{#4}
+\def\firstoffourarguments #1#-#-#-{#1}
+\def\secondoffourarguments #-#1#-#-{#1}
+\def\thirdoffourarguments #-#-#1#-{#1}
+\def\fourthoffourarguments #-#-#-#1{#1}
-\def\firstoffivearguments #1#0#0#0#0{#1}
-\def\secondoffivearguments #0#2#0#0#0{#2}
-\def\thirdoffivearguments #0#0#3#0#0{#3}
-\def\fourthoffivearguments #0#0#0#4#0{#4}
-\def\fifthoffivearguments #0#0#0#0#5{#5}
+\def\firstoffivearguments #1#-#-#-#-{#1}
+\def\secondoffivearguments #-#1#-#-#-{#1}
+\def\thirdoffivearguments #-#-#1#-#-{#1}
+\def\fourthoffivearguments #-#-#-#1#-{#1}
+\def\fifthoffivearguments #-#-#-#-#1{#1}
-\def\firstofsixarguments #1#0#0#0#0#0{#1}
-\def\secondofsixarguments#0#2#0#0#0#0{#2}
-\def\thirdofsixarguments #0#0#3#0#0#0{#3}
-\def\fourthofsixarguments#0#0#0#4#0#0{#4}
-\def\fifthofsixarguments #0#0#0#0#5#0{#5}
-\def\sixthofsixarguments #0#0#0#0#0#6{#6}
+\def\firstofsixarguments #1#-#-#-#-#-{#1}
+\def\secondofsixarguments#-#1#-#-#-#-{#1}
+\def\thirdofsixarguments #-#-#1#-#-#-{#1}
+\def\fourthofsixarguments#-#-#-#1#-#-{#1}
+\def\fifthofsixarguments #-#-#-#-#1#-{#1}
+\def\sixthofsixarguments #-#-#-#-#-#1{#1}
% \unexpanded\def\firstofoneunexpanded #1{#1}
%
@@ -2541,14 +2634,23 @@
% \unexpanded\def\secondofthreeunexpanded#1#2#3{#2}
% \unexpanded\def\thirdofthreeunexpanded #1#2#3{#3}
+% \unexpanded\def\firstofoneunexpanded #1{#1}
+%
+% \unexpanded\def\firstoftwounexpanded #1#0{#1}
+% \unexpanded\def\secondoftwounexpanded #0#2{#2}
+%
+% \unexpanded\def\firstofthreeunexpanded #1#0#0{#1}
+% \unexpanded\def\secondofthreeunexpanded#0#2#0{#2}
+% \unexpanded\def\thirdofthreeunexpanded #0#0#3{#3}
+
\unexpanded\def\firstofoneunexpanded #1{#1}
-\unexpanded\def\firstoftwounexpanded #1#0{#1}
-\unexpanded\def\secondoftwounexpanded #0#2{#2}
+\unexpanded\def\firstoftwounexpanded #1#-{#1}
+\unexpanded\def\secondoftwounexpanded #-#1{#1}
-\unexpanded\def\firstofthreeunexpanded #1#0#0{#1}
-\unexpanded\def\secondofthreeunexpanded#0#2#0{#2}
-\unexpanded\def\thirdofthreeunexpanded #0#0#3{#3}
+\unexpanded\def\firstofthreeunexpanded #1#-#-{#1}
+\unexpanded\def\secondofthreeunexpanded#-#1#-{#1}
+\unexpanded\def\thirdofthreeunexpanded #-#-#1{#1}
%D \macros
%D {globalletempty,letempty,
@@ -2643,10 +2745,15 @@
\def\syst_helpers_grab_raw_parameter_next
{\expandafterspaces\syst_helpers_grab_raw_parameter}
-\unexpanded\def\rawgetparameters#1[#2]#0[#4]%
+% \unexpanded\def\rawgetparameters#1[#2]#0[#4]%
+% {\def\m_syst_parameter_n{#2}%
+% %\expandafterspaces\syst_helpers_grab_raw_parameter#4\ignorearguments\ignorearguments}
+% \expandafter\expandafterspaces\expandafter\syst_helpers_grab_raw_parameter#4\ignorearguments\ignorearguments}
+
+\unexpanded\def\rawgetparameters#1[#2]#-[#3]%
{\def\m_syst_parameter_n{#2}%
- %\expandafterspaces\syst_helpers_grab_raw_parameter#4\ignorearguments\ignorearguments}
- \expandafter\expandafterspaces\expandafter\syst_helpers_grab_raw_parameter#4\ignorearguments\ignorearguments}
+ %\expandafterspaces\syst_helpers_grab_raw_parameter#3\ignorearguments\ignorearguments}
+ \expandafter\expandafterspaces\expandafter\syst_helpers_grab_raw_parameter#3\ignorearguments\ignorearguments}
%D \macros
%D {doglobal,
@@ -3082,10 +3189,7 @@
\globalpushmacro\recurseaction
\unexpanded\gdef\recurseaction##1##2{#1}%
\let\endofloop\syst_helpers_loop
- \syst_helpers_loop1% no \plusone else \recurselevel wrong
- \globalpopmacro\recurselevel
- \globalpopmacro\recurseaction
- \global\advance\outerrecurse\minusone}
+ \syst_helpers_loop1}% no \plusone else \recurselevel wrong
\unexpanded\def\syst_helpers_loop#1%
{\def\recurselevel{#1}%
@@ -3095,13 +3199,16 @@
{\syst_helpers_recurse_content
\endofloop}
-\unexpanded\def\syst_helpers_loop_nop#1%
- {}
+\unexpanded\def\syst_helpers_loop_nop#0%
+ {\let\endofloop\syst_helpers_loop
+ \globalpopmacro\recurselevel
+ \globalpopmacro\recurseaction
+ \global\advance\outerrecurse\minusone}
\unexpanded\def\exitloop % \exitloop quits at end
{\let\endofloop\syst_helpers_loop_nop}
-\unexpanded\def\exitloopnow#1\endofloop % \exitloopnow quits directly
+\unexpanded\def\exitloopnow#0\endofloop % \exitloopnow quits directly
{\syst_helpers_loop_nop}
%D The loop is executed at least once, so beware of situations like:
@@ -3689,9 +3796,9 @@
% {}
\unexpanded\def\gobbleuntil#1%
- {\def\syst_helpers_gobble_indeed##0#1{}\syst_helpers_gobble_indeed}
+ {\def\syst_helpers_gobble_indeed##-#1{}\syst_helpers_gobble_indeed}
-\unexpanded\def\gobbleuntilrelax#0\relax
+\unexpanded\def\gobbleuntilrelax#-\relax
{}
%D The next one simply expands the pickup up tokens.
@@ -4316,7 +4423,7 @@
\let\syst_helpers_split_string\relax
\unexpanded\def\beforesplitstring#1\at#2\to#3%
- {\def\syst_helpers_split_string##1#2##0^^^^0004%
+ {\def\syst_helpers_split_string##1#2##0^^^^0004% no #- as we need to count
{\ifarguments
\let#3\empty
\or
@@ -4327,7 +4434,7 @@
\expandafter\syst_helpers_split_string#1^^^^0004\ignorearguments\ignorearguments}
\unexpanded\def\aftersplitstring#1\at#2\to#3%
- {\def\syst_helpers_split_string##0#2##2^^^^0004%
+ {\def\syst_helpers_split_string##0#2##2^^^^0004% no #- as we need to count
{\ifarguments
\let#3\empty
\or
@@ -4387,7 +4494,7 @@
\let\beforetestandsplitstring\beforesplitstring
\unexpanded\def\aftertestandsplitstring#1\at#2\to#3%
- {\def\syst_helpers_split_string##0#2##2^^^^0004%
+ {\def\syst_helpers_split_string##0#2##2^^^^0004% no #- as we need to count
{\ifarguments
\let#3\empty
\or
@@ -4418,11 +4525,17 @@
%D splitatcolon,
%D splitatcolons}
-\unexpanded\def\syst_helpers_splitatperiod #1.#2.#0^^^^0004#4#5{\def #4{#1}\def #5{#2}}
-\unexpanded\def\syst_helpers_splitatcomma #1,#2,#0^^^^0004#4#5{\def #4{#1}\def #5{#2}}
-\unexpanded\def\syst_helpers_splitatasterisk #1*#2*#0^^^^0004#4#5{\def #4{#1}\def #5{#2}}
-\unexpanded\def\syst_helpers_splitatcolon #1:#2:#0^^^^0004#4#5{\def #4{#1}\def #5{#2}}
-\unexpanded\def\syst_helpers_splitatcolons #1::#2::#0^^^^0004#4#5{\edef#4{#1}\edef#5{#2}}
+% \unexpanded\def\syst_helpers_splitatperiod #1.#2.#0^^^^0004#4#5{\def #4{#1}\def #5{#2}}
+% \unexpanded\def\syst_helpers_splitatcomma #1,#2,#0^^^^0004#4#5{\def #4{#1}\def #5{#2}}
+% \unexpanded\def\syst_helpers_splitatasterisk #1*#2*#0^^^^0004#4#5{\def #4{#1}\def #5{#2}}
+% \unexpanded\def\syst_helpers_splitatcolon #1:#2:#0^^^^0004#4#5{\def #4{#1}\def #5{#2}}
+% \unexpanded\def\syst_helpers_splitatcolons #1::#2::#0^^^^0004#4#5{\edef#4{#1}\edef#5{#2}}
+
+\unexpanded\def\syst_helpers_splitatperiod #1.#2.#-^^^^0004#3#4{\def #3{#1}\def #4{#2}}
+\unexpanded\def\syst_helpers_splitatcomma #1,#2,#-^^^^0004#3#4{\def #3{#1}\def #4{#2}}
+\unexpanded\def\syst_helpers_splitatasterisk #1*#2*#-^^^^0004#3#4{\def #3{#1}\def #4{#2}}
+\unexpanded\def\syst_helpers_splitatcolon #1:#2:#-^^^^0004#3#4{\def #3{#1}\def #4{#2}}
+\unexpanded\def\syst_helpers_splitatcolons #1::#2::#-^^^^0004#3#4{\edef#3{#1}\edef#4{#2}}
\unexpanded\def\splitatperiod #1{\normalexpanded{\syst_helpers_splitatperiod #1}..^^^^0004}
\unexpanded\def\splitatcomma #1{\normalexpanded{\syst_helpers_splitatcomma #1},,^^^^0004} % not at ", "
@@ -4528,14 +4641,16 @@
{\dodoglobal\edef#2{#1\ifempty#2\else,#2\fi}}}
\unexpanded\def\xsplitstring#1#2% \cs {str}
- {\def\syst_helpers_split_string##1,#2,##2,#2,##3\\%
+ %{\def\syst_helpers_split_string##1,#2,##2,#2,##3\\%
+ {\def\syst_helpers_split_string##1,#2,##2,#2,##-\\%
{\edef\m_syst_string_one{\bcleanedupcommalist##1\empty\empty\relax}%
\edef\m_syst_string_two{\acleanedupcommalist##2,,\relax}}%
\expandafter\syst_helpers_split_string\expandafter,#1,,#2,,#2,\\}
\def\bcleanedupcommalist#1#2#3\relax{\if#1,\else#1\fi\if#2,\else#2\fi#3}
\def\bcleanedupcommalist#1#2\relax{\if#1,\else#1\fi#2}
-\def\acleanedupcommalist#1,,#2\relax{#1}
+%def\acleanedupcommalist#1,,#2\relax{#1}
+\def\acleanedupcommalist#1,,#-\relax{#1}
\unexpanded\def\removefromcommalist#1#2% to be sped up
{\rawdoifelseinset{#1}#2%
@@ -4694,8 +4809,7 @@
% \def\PtToCm#1%
% {\withoutpt\the\dimexpr0.0351459804\dimexpr#1\relax\relax cm}
-\def\PtToCm#1%
- {\thewithoutunit\dimexpr0.0351459804\dimexpr#1\relax\relax cm}
+\def\PtToCm#1{\thewithoutunit\dimexpr0.0351459804\dimexpr#1\relax\relax cm}
%D We also support:
%D
@@ -5228,9 +5342,16 @@
%D This command can be integrated in \type {\getparameters}, but we decided best not
%D to do so.
+% \unexpanded\def\processassignlist#1[#2]#3%
+% {\def\syst_helpers_process_assign_list_assign[##1=##2=##3]%
+% {\doif{##3}\relax{#3{##1}}}%
+% \def\syst_helpers_process_assign_list_step##1%
+% {\syst_helpers_process_assign_list_assign[##1==\relax]}%
+% \processcommalist[#2]\syst_helpers_process_assign_list_step}
+
\unexpanded\def\processassignlist#1[#2]#3%
- {\def\syst_helpers_process_assign_list_assign[##1=##2=##3]%
- {\doif{##3}\relax{#3{##1}}}%
+ {\def\syst_helpers_process_assign_list_assign[##1=##-=##2]%
+ {\doif{##2}\relax{#3{##1}}}%
\def\syst_helpers_process_assign_list_step##1%
{\syst_helpers_process_assign_list_assign[##1==\relax]}%
\processcommalist[#2]\syst_helpers_process_assign_list_step}
@@ -6293,7 +6414,10 @@
\def\docheckedpair#1%
{\syst_helpers_checked_pair#1,,\_o_e_p_}
-\def\syst_helpers_checked_pair#1,#2,#0\_o_e_p_
+% \def\syst_helpers_checked_pair#1,#2,#0\_o_e_p_
+% {#1,#2}
+
+\def\syst_helpers_checked_pair#1,#2,#-\_o_e_p_
{#1,#2}
%D Here are some nasty helpers. They can be used to fill often expanded token
diff --git a/tex/context/base/mkiv/syst-ini.mkiv b/tex/context/base/mkiv/syst-ini.mkiv
index 3e71e0893..1de243a6d 100644
--- a/tex/context/base/mkiv/syst-ini.mkiv
+++ b/tex/context/base/mkiv/syst-ini.mkiv
@@ -58,7 +58,9 @@
\chardef\primeasciicode 39 % '
\chardef\leftparentasciicode 40
\chardef\rightparentasciicode 41
+\chardef\commaasciicode 44
\chardef\hyphenasciicode 45
+\chardef\periodasciicode 46
\chardef\forwardslashasciicode 47 % /
\chardef\colonasciicode 58
\chardef\lessthanasciicode 60 % < used as alternative verbatim {
diff --git a/tex/context/base/mkiv/syst-ini.mkxl b/tex/context/base/mkiv/syst-ini.mkxl
index 09ab93d58..a4c355bba 100644
--- a/tex/context/base/mkiv/syst-ini.mkxl
+++ b/tex/context/base/mkiv/syst-ini.mkxl
@@ -58,7 +58,9 @@
\chardef\primeasciicode 39 % '
\chardef\leftparentasciicode 40
\chardef\rightparentasciicode 41
+\chardef\commaasciicode 44
\chardef\hyphenasciicode 45
+\chardef\periodasciicode 46
\chardef\forwardslashasciicode 47 % /
\chardef\colonasciicode 58
\chardef\lessthanasciicode 60 % < used as alternative verbatim {
diff --git a/tex/context/base/mkiv/toks-ini.lua b/tex/context/base/mkiv/toks-ini.lua
index f38cf915f..da5affa63 100644
--- a/tex/context/base/mkiv/toks-ini.lua
+++ b/tex/context/base/mkiv/toks-ini.lua
@@ -67,7 +67,7 @@ local scan_luainteger = token.scan_luainteger or scan_int -- only lmtx
local scan_luacardinal = token.scan_luacardinal or scan_int -- only lmtx
local get_next = token.get_next
-local get_next_token = token.get_next_token
+----- get_next_token = token.get_next_token
local skip_next = token.skip_next
local peek_next_char = token.peek_next_char
local is_next_char = token.is_next_char
@@ -90,6 +90,9 @@ tokens.istoken = is_token
tokens.isdefined = is_defined
tokens.defined = is_defined
+tokens.getdata = token.get_data -- only lmtx
+tokens.setdata = token.set_data -- only lmtx
+
local bits = {
escape = 0x00000001, -- 2^00
begingroup = 0x00000002, -- 2^01
@@ -278,6 +281,7 @@ if setinspector then
frozen = t.frozen,
mode = t.mode,
index = t.index,
+ user = t.user,
cmdname = cmdname,
}
end
@@ -298,3 +302,18 @@ tokens.cache = table.setmetatableindex(function(t,k)
t[k] = v
return v
end)
+
+if LUATEXVERSION < 114 and CONTEXTLMTXMODE == 0 then
+
+ local d = tokens.defined
+ local c = tokens.create
+
+ function tokens.defined(s,b)
+ if b then
+ return d(s)
+ else
+ return c(s).cmd_name == "undefined_cmd"
+ end
+ end
+
+end
diff --git a/tex/context/base/mkiv/type-ini.mklx b/tex/context/base/mkiv/type-ini.mklx
index b4eee64d8..c710fbec5 100644
--- a/tex/context/base/mkiv/type-ini.mklx
+++ b/tex/context/base/mkiv/type-ini.mklx
@@ -277,7 +277,7 @@
\expandafter\font_typescripts_start_gobble
\fi}
-\def\font_typescripts_start_gobble#definitions\stoptypescript{}
+\def\font_typescripts_start_gobble#ignore\stoptypescript{}
\def\font_typescripts_start_document#definitions\stoptypescript
{\toksapp\c_font_typescripts_document{\starttypescript#definitions\stoptypescript}}
diff --git a/tex/context/interface/mkii/keys-it.xml b/tex/context/interface/mkii/keys-it.xml
index 7ae291cf0..881705608 100644
--- a/tex/context/interface/mkii/keys-it.xml
+++ b/tex/context/interface/mkii/keys-it.xml
@@ -913,7 +913,10 @@
<cd:constant name='keys' value='keys'/>
<cd:constant name='keyword' value='parolachiave'/>
<cd:constant name='label' value='etichetta'/>
+ <cd:constant name='labelalternative' value='labelalternative'/>
+ <cd:constant name='labelcolor' value='labelcolor'/>
<cd:constant name='labeloffset' value='labeloffset'/>
+ <cd:constant name='labelstyle' value='labelstyle'/>
<cd:constant name='language' value='language'/>
<cd:constant name='last' value='last'/>
<cd:constant name='lastnamesep' value='lastnamesep'/>
diff --git a/tex/context/interface/mkiv/context-en.xml b/tex/context/interface/mkiv/context-en.xml
index 33ee652e1..ff6203585 100644
--- a/tex/context/interface/mkiv/context-en.xml
+++ b/tex/context/interface/mkiv/context-en.xml
@@ -931,6 +931,20 @@
</cd:assignments>
</cd:arguments>
</cd:command>
+ <cd:command file="back-ini.mkxl" name="setupoutput">
+ <cd:arguments>
+ <cd:keywords>
+ <cd:constant type="default"/>
+ <cd:constant type="pdf"/>
+ <cd:constant type="lua"/>
+ <cd:constant type="json"/>
+ <cd:constant type="js"/>
+ <cd:constant type="mps"/>
+ <cd:constant type="none"/>
+ <cd:constant type="empty"/>
+ </cd:keywords>
+ </cd:arguments>
+ </cd:command>
</cd:interface>
<cd:interface file="i-background.xml">
<cd:command category="background" file="pack-bck.mkvi" level="style" name="definebackground">
@@ -1368,6 +1382,8 @@
<cd:constant method="none" prefix="type␣" type="cd:text"/>
<cd:constant method="none" prefix="data␣" type="cd:text"/>
<cd:constant method="none" prefix="name␣" type="cd:text"/>
+ <cd:constant method="none" prefix="radius␣" type="cd:dimension"/>
+ <cd:constant method="none" prefix="corner␣" type="cd:text"/>
</cd:keywords>
<cd:delimiter name="relax"/>
</cd:arguments>
@@ -4383,6 +4399,19 @@
</cd:keywords>
</cd:arguments>
</cd:command>
+ <cd:command category="conditional" file="typo-chr.mkiv" level="system" name="doifelsemarkedcontent">
+ <cd:arguments>
+ <cd:keywords delimiters="braces">
+ <cd:constant type="cd:name"/>
+ </cd:keywords>
+ <cd:keywords delimiters="braces">
+ <cd:constant type="cd:true"/>
+ </cd:keywords>
+ <cd:keywords delimiters="braces">
+ <cd:constant type="cd:false"/>
+ </cd:keywords>
+ </cd:arguments>
+ </cd:command>
<cd:command file="typo-cln.mkiv" level="system" name="setcharactercleaning">
<cd:arguments>
<cd:keywords>
@@ -6206,28 +6235,28 @@
</cd:keywords>
</cd:arguments>
</cd:command>
- <cd:command category="counter" file="core-con.mkiv" level="style" name="monthlong">
+ <cd:command category="counter" file="core-con.mkiv" level="style" name="month">
<cd:arguments>
<cd:keywords delimiters="braces">
<cd:constant type="cd:number"/>
</cd:keywords>
</cd:arguments>
</cd:command>
- <cd:command category="counter" file="core-con.mkiv" level="style" name="monthshort">
+ <cd:command category="counter" file="core-con.mkiv" level="style" name="monthlong">
<cd:arguments>
<cd:keywords delimiters="braces">
<cd:constant type="cd:number"/>
</cd:keywords>
</cd:arguments>
</cd:command>
- <cd:command category="counter" file="core-con.mkiv" level="style" name="convertmonth">
+ <cd:command category="counter" file="core-con.mkiv" level="style" name="monthshort">
<cd:arguments>
<cd:keywords delimiters="braces">
<cd:constant type="cd:number"/>
</cd:keywords>
</cd:arguments>
</cd:command>
- <cd:command category="counter" file="core-con.mkiv" level="style" name="month">
+ <cd:command category="counter" file="core-con.mkiv" level="style" name="convertmonth">
<cd:arguments>
<cd:keywords delimiters="braces">
<cd:constant type="cd:number"/>
@@ -6269,6 +6298,34 @@
</cd:keywords>
</cd:arguments>
</cd:command>
+ <cd:command category="counter" file="core-con.mkiv" level="style" name="daylong">
+ <cd:arguments>
+ <cd:keywords delimiters="braces">
+ <cd:constant type="cd:number"/>
+ </cd:keywords>
+ </cd:arguments>
+ </cd:command>
+ <cd:command category="counter" file="core-con.mkiv" level="style" name="dayshort">
+ <cd:arguments>
+ <cd:keywords delimiters="braces">
+ <cd:constant type="cd:number"/>
+ </cd:keywords>
+ </cd:arguments>
+ </cd:command>
+ <cd:command category="counter" file="core-con.mkiv" level="style" name="DAYLONG">
+ <cd:arguments>
+ <cd:keywords delimiters="braces">
+ <cd:constant type="cd:number"/>
+ </cd:keywords>
+ </cd:arguments>
+ </cd:command>
+ <cd:command category="counter" file="core-con.mkiv" level="style" name="DAYSHORT">
+ <cd:arguments>
+ <cd:keywords delimiters="braces">
+ <cd:constant type="cd:number"/>
+ </cd:keywords>
+ </cd:arguments>
+ </cd:command>
<cd:command category="counter" file="core-con.mkiv" level="style" name="dayoftheweek">
<cd:arguments>
<cd:keywords delimiters="braces">
@@ -6345,40 +6402,52 @@
<cd:arguments>
<cd:keywords list="yes" optional="yes">
<cd:constant type="year"/>
- <cd:constant type="month"/>
- <cd:constant type="day"/>
- <cd:constant type="weekday"/>
<cd:constant type="y"/>
<cd:constant type="yy"/>
<cd:constant type="Y"/>
+ <cd:constant type="YY"/>
+ <cd:constant type="month"/>
+ <cd:constant type="month:mnem"/>
+ <cd:constant type="month:jalali"/>
<cd:constant type="m"/>
+ <cd:constant type="m:mnem"/>
+ <cd:constant type="m:jalali"/>
+ <cd:constant type="MONTH"/>
+ <cd:constant type="MONTH:mnem"/>
+ <cd:constant type="MONTH:jalali"/>
<cd:constant type="mm"/>
<cd:constant type="M"/>
- <cd:constant type="d"/>
- <cd:constant type="dd"/>
- <cd:constant type="D"/>
- <cd:constant type="w"/>
- <cd:constant type="W"/>
- <cd:constant type="space"/>
- <cd:constant type="\\\\\\\\␣"/>
- <cd:constant type="month:mnem"/>
- <cd:constant type="m:mnem"/>
- <cd:constant type="d:ord"/>
- <cd:constant type="day:ord"/>
- <cd:constant type="dd:ord"/>
- <cd:constant type="D:ord"/>
- <cd:constant type="cd:text"/>
- <cd:constant type="referral"/>
+ <cd:constant type="day"/>
<cd:constant type="day:+"/>
+ <cd:constant type="day:ord"/>
<cd:constant type="day:++"/>
+ <cd:constant type="day:highord"/>
+ <cd:constant type="d"/>
<cd:constant type="d:+"/>
+ <cd:constant type="d:ord"/>
<cd:constant type="d:++"/>
+ <cd:constant type="d:highord"/>
+ <cd:constant type="dd"/>
<cd:constant type="dd:+"/>
+ <cd:constant type="dd:ord"/>
<cd:constant type="dd:++"/>
+ <cd:constant type="dd:highord"/>
+ <cd:constant type="D"/>
<cd:constant type="D:+"/>
+ <cd:constant type="D:ord"/>
<cd:constant type="D:++"/>
- <cd:constant type="month:jalali"/>
- <cd:constant type="m:jalali"/>
+ <cd:constant type="D:highord"/>
+ <cd:constant type="weekday"/>
+ <cd:constant type="weekday:mnem"/>
+ <cd:constant type="w"/>
+ <cd:constant type="w:mnem"/>
+ <cd:constant type="WEEKDAY"/>
+ <cd:constant type="WEEKDAY:mnem"/>
+ <cd:constant type="W"/>
+ <cd:constant type="referral"/>
+ <cd:constant type="space"/>
+ <cd:constant type="\\\\\\\\␣"/>
+ <cd:constant type="cd:text"/>
<cd:constant type="jalali:to"/>
<cd:constant type="jalali:from"/>
</cd:keywords>
@@ -6537,6 +6606,8 @@
<cd:constant type="slovenianNumerals"/>
<cd:constant type="spanishnumerals"/>
<cd:constant type="spanishNumerals"/>
+ <cd:constant type="russiannumerals"/>
+ <cd:constant type="russianNumerals"/>
<cd:constant type="mathgreek"/>
<cd:constant type="set␣0"/>
<cd:constant type="set␣1"/>
@@ -6710,6 +6781,20 @@
</cd:keywords>
</cd:arguments>
</cd:command>
+ <cd:command category="counter language" file="core-con.mkiv" level="style" name="russiannumerals">
+ <cd:arguments>
+ <cd:keywords delimiters="braces">
+ <cd:constant type="cd:number"/>
+ </cd:keywords>
+ </cd:arguments>
+ </cd:command>
+ <cd:command category="counter language" file="core-con.mkiv" level="style" name="russianNumerals">
+ <cd:arguments>
+ <cd:keywords delimiters="braces">
+ <cd:constant type="cd:number"/>
+ </cd:keywords>
+ </cd:arguments>
+ </cd:command>
<cd:command category="counter" file="core-con.mkiv" level="style" name="unihex">
<cd:arguments>
<cd:keywords delimiters="braces">
@@ -6731,9 +6816,65 @@
</cd:keywords>
</cd:arguments>
</cd:command>
- <cd:command category="system" file="core-con.mkiv" level="style" name="actualyear"/>
- <cd:command category="system" file="core-con.mkiv" level="style" name="actualmonth"/>
- <cd:command category="system" file="core-con.mkiv" level="style" name="actualday"/>
+ <cd:command category="system" file="core-con.lua" level="style" name="actualyear"/>
+ <cd:command category="system" file="core-con.lua" level="style" name="actualmonth"/>
+ <cd:command category="system" file="core-con.lua" level="style" name="actualday"/>
+ <cd:command category="counter" file="syst-con.mkxl" level="style" name="lchexnumber">
+ <cd:arguments>
+ <cd:keywords delimiters="braces">
+ <cd:constant type="cd:number"/>
+ </cd:keywords>
+ </cd:arguments>
+ </cd:command>
+ <cd:command category="counter" file="syst-con.mkxl" level="style" name="uchexnumber">
+ <cd:arguments>
+ <cd:keywords delimiters="braces">
+ <cd:constant type="cd:number"/>
+ </cd:keywords>
+ </cd:arguments>
+ </cd:command>
+ <cd:command category="counter" file="syst-con.mkxl" level="style" name="lchexnumbers">
+ <cd:arguments>
+ <cd:keywords delimiters="braces">
+ <cd:constant type="cd:number"/>
+ </cd:keywords>
+ </cd:arguments>
+ </cd:command>
+ <cd:command category="counter" file="syst-con.mkxl" level="style" name="uchexnumbers">
+ <cd:arguments>
+ <cd:keywords delimiters="braces">
+ <cd:constant type="cd:number"/>
+ </cd:keywords>
+ </cd:arguments>
+ </cd:command>
+ <cd:command category="counter" file="syst-con.mkxl" level="style" name="hexnumber">
+ <cd:arguments>
+ <cd:keywords delimiters="braces">
+ <cd:constant type="cd:number"/>
+ </cd:keywords>
+ </cd:arguments>
+ </cd:command>
+ <cd:command category="counter" file="syst-con.mkxl" level="style" name="octnumber">
+ <cd:arguments>
+ <cd:keywords delimiters="braces">
+ <cd:constant type="cd:number"/>
+ </cd:keywords>
+ </cd:arguments>
+ </cd:command>
+ <cd:command category="counter" file="syst-con.mkxl" level="style" name="hexstringtonumber">
+ <cd:arguments>
+ <cd:keywords delimiters="braces">
+ <cd:constant type="cd:number"/>
+ </cd:keywords>
+ </cd:arguments>
+ </cd:command>
+ <cd:command category="counter" file="syst-con.mkxl" level="style" name="octstringtonumber">
+ <cd:arguments>
+ <cd:keywords delimiters="braces">
+ <cd:constant type="cd:number"/>
+ </cd:keywords>
+ </cd:arguments>
+ </cd:command>
</cd:interface>
<cd:interface file="i-counter.xml">
<cd:command category="counter" file="strc-num.mkiv" level="system" name="definecounter">
@@ -10565,6 +10706,35 @@
</cd:assignments>
</cd:arguments>
</cd:command>
+ <cd:command category="structure fonts counter" file="strc-flt.mkvi" level="style" name="placefloatcaption">
+ <cd:arguments>
+ <cd:keywords>
+ <cd:constant type="cd:name"/>
+ </cd:keywords>
+ <cd:assignments list="yes" optional="yes">
+ <cd:parameter name="title">
+ <cd:constant type="cd:text"/>
+ </cd:parameter>
+ <cd:parameter name="bookmark">
+ <cd:constant type="cd:text"/>
+ </cd:parameter>
+ <cd:parameter name="marking">
+ <cd:constant type="cd:text"/>
+ </cd:parameter>
+ <cd:parameter name="list">
+ <cd:constant type="cd:text"/>
+ </cd:parameter>
+ <cd:parameter name="reference">
+ <cd:constant type="cd:reference"/>
+ </cd:parameter>
+ </cd:assignments>
+ <cd:assignments list="yes" optional="yes">
+ <cd:parameter name="cd:key">
+ <cd:constant type="cd:value"/>
+ </cd:parameter>
+ </cd:assignments>
+ </cd:arguments>
+ </cd:command>
<cd:command category="structure background" file="strc-flt.mkvi" level="style" name="setupfloatframed">
<cd:arguments>
<cd:keywords list="yes" optional="yes">
@@ -11336,6 +11506,11 @@
<cd:parameter name="color">
<cd:constant type="cd:color"/>
</cd:parameter>
+ <cd:parameter name="width">
+ <cd:constant default="yes" type="fit"/>
+ <cd:constant type="frame"/>
+ <cd:constant type="cd:dimension"/>
+ </cd:parameter>
<cd:inherit name="setupframed"/>
</cd:assignments>
</cd:arguments>
@@ -11833,7 +12008,11 @@
<cd:constant default="yes" type="yes"/>
<cd:constant type="no"/>
</cd:parameter>
- <cd:parameter name="cd:name">
+ <cd:parameter name="uppercasing">
+ <cd:constant type="yes"/>
+ <cd:constant default="yes" type="no"/>
+ </cd:parameter>
+ <cd:parameter name="lowercasing">
<cd:constant type="yes"/>
<cd:constant default="yes" type="no"/>
</cd:parameter>
@@ -11844,6 +12023,13 @@
<cd:constant type="yes"/>
<cd:constant default="yes" type="no"/>
</cd:parameter>
+ <cd:parameter name="metapost">
+ <cd:constant type="cd:name"/>
+ </cd:parameter>
+ <cd:parameter name="cd:name">
+ <cd:constant type="yes"/>
+ <cd:constant default="yes" type="no"/>
+ </cd:parameter>
</cd:assignments>
</cd:arguments>
</cd:command>
@@ -12749,6 +12935,9 @@
<cd:command category="fonts" file="font-pre.mkiv" level="style" name="setoldstyle"/>
<cd:command category="fonts" file="font-pre.mkiv" level="style" name="settabular"/>
<cd:command category="fonts" file="font-pre.mkiv" level="style" name="setsuperiors"/>
+ <cd:command category="fonts" file="font-pre.mkiv" level="style" name="setfractions"/>
+ <cd:command category="fonts" file="font-pre.mkiv" level="style" name="uppercasing"/>
+ <cd:command category="fonts" file="font-pre.mkiv" level="style" name="lowercasing"/>
<cd:command category="fonts" file="font-pre.mkiv" level="style" name="tinyfont"/>
<cd:command category="fonts" file="font-pre.mkiv" level="style" name="infofont"/>
<cd:command category="fonts" file="font-pre.mkiv" level="style" name="infofontbold"/>
@@ -13419,6 +13608,44 @@
</cd:keywords>
</cd:arguments>
</cd:command>
+ <cd:command category="fonts" file="hand-ini.mkx" level="style" name="defineexpansion">
+ <cd:arguments>
+ <cd:keywords>
+ <cd:constant type="cd:name"/>
+ </cd:keywords>
+ <cd:keywords optional="yes">
+ <cd:constant type="cd:name"/>
+ </cd:keywords>
+ <cd:assignments list="yes" optional="yes">
+ <cd:inherit name="setupexpansion"/>
+ </cd:assignments>
+ </cd:arguments>
+ </cd:command>
+ <cd:command category="fonts" file="hand-ini.mkx" level="style" name="setupexpansion">
+ <cd:arguments>
+ <cd:keywords list="yes" optional="yes">
+ <cd:constant type="cd:name"/>
+ </cd:keywords>
+ <cd:assignments list="yes">
+ <cd:parameter name="step">
+ <cd:constant type="cd:number"/>
+ </cd:parameter>
+ <cd:parameter name="stretch">
+ <cd:constant type="cd:number"/>
+ </cd:parameter>
+ <cd:parameter name="shrink">
+ <cd:constant type="cd:number"/>
+ </cd:parameter>
+ </cd:assignments>
+ </cd:arguments>
+ </cd:command>
+ <cd:command category="fonts" file="font-ini.mkvi" level="style" name="setexpansion">
+ <cd:arguments>
+ <cd:keywords>
+ <cd:constant type="cd:name"/>
+ </cd:keywords>
+ </cd:arguments>
+ </cd:command>
</cd:interface>
<cd:interface file="i-form.xml">
<cd:command category="pdf" file="scrn-fld.mkvi" level="style" name="setupforms">
@@ -14740,6 +14967,11 @@
<cd:parameter name="color">
<cd:constant type="cd:color"/>
</cd:parameter>
+ <cd:parameter name="cmyk">
+ <cd:constant type="yes"/>
+ <cd:constant default="yes" type="no"/>
+ <cd:constant type="auto"/>
+ </cd:parameter>
<cd:parameter name="arguments">
<cd:constant type="cd:text"/>
</cd:parameter>
@@ -14898,6 +15130,16 @@
</cd:assignments>
</cd:arguments>
</cd:command>
+ <cd:command category="graphics" file="grph-inc.mkvi" level="style" name="setupexternalfigures">
+ <cd:arguments>
+ <cd:keywords list="yes" optional="yes">
+ <cd:constant type="cd:name"/>
+ </cd:keywords>
+ <cd:assignments list="yes">
+ <cd:inherit name="setupexternalfigure"/>
+ </cd:assignments>
+ </cd:arguments>
+ </cd:command>
<cd:command category="graphics" file="grph-inc.mkiv" level="style" name="useexternalfigure">
<cd:arguments>
<cd:keywords>
@@ -15235,6 +15477,30 @@
</cd:keywords>
</cd:arguments>
</cd:command>
+ <cd:command category="graphics" file="grph-inc.mkiv" level="document" name="includesvgfile">
+ <cd:arguments>
+ <cd:keywords>
+ <cd:constant type="cd:file"/>
+ </cd:keywords>
+ <cd:assignments list="yes" optional="yes">
+ <cd:parameter name="offset">
+ <cd:constant type="cd:dimension"/>
+ </cd:parameter>
+ </cd:assignments>
+ </cd:arguments>
+ </cd:command>
+ <cd:command category="graphics" file="grph-inc.mkiv" level="document" name="includesvgbuffer">
+ <cd:arguments>
+ <cd:keywords>
+ <cd:constant type="cd:buffer"/>
+ </cd:keywords>
+ <cd:assignments list="yes" optional="yes">
+ <cd:parameter name="offset">
+ <cd:constant type="cd:dimension"/>
+ </cd:parameter>
+ </cd:assignments>
+ </cd:arguments>
+ </cd:command>
</cd:interface>
<cd:interface file="i-grid.xml">
<cd:command category="layout" file="page-grd.mkiv" level="document" name="showgrid">
@@ -15826,6 +16092,29 @@
</cd:keywords>
</cd:arguments>
</cd:command>
+ <cd:command category="whitespace" file="spac/hor.mkiv" level="system" name="interwordspacebefore"/>
+ <cd:command category="whitespace" file="spac/hor.mkiv" level="system" name="interwordspaceafter"/>
+ <cd:command category="whitespace" file="spac/hor.mkiv" level="system" name="interwordspacesbefore">
+ <cd:arguments>
+ <cd:keywords delimiters="braces">
+ <cd:constant type="cd:number"/>
+ </cd:keywords>
+ </cd:arguments>
+ </cd:command>
+ <cd:command category="whitespace" file="spac/hor.mkiv" level="system" name="interwordspacesafter">
+ <cd:arguments>
+ <cd:keywords delimiters="braces">
+ <cd:constant type="cd:number"/>
+ </cd:keywords>
+ </cd:arguments>
+ </cd:command>
+ <cd:command category="whitespace" file="spac/hor.mkiv" level="system" name="interwordspaces">
+ <cd:arguments>
+ <cd:keywords delimiters="braces">
+ <cd:constant type="cd:number"/>
+ </cd:keywords>
+ </cd:arguments>
+ </cd:command>
</cd:interface>
<cd:interface file="i-hyphenation.xml">
<cd:command category="language" file="lang-hyp.mkiv" level="style" name="setuphyphenation">
@@ -15856,7 +16145,7 @@
</cd:keywords>
</cd:arguments>
</cd:command>
- <cd:command category="language" file="lang-hyp.mkiv" level="style" name="definehypenationfeatures">
+ <cd:command category="language" file="lang-hyp.mkiv" level="style" name="definehyphenationfeatures">
<cd:arguments>
<cd:keywords>
<cd:constant type="cd:name"/>
@@ -21048,10 +21337,11 @@
<cd:parameter name="pagecommand">
<cd:constant type="cd:oneargument"/>
</cd:parameter>
- <cd:parameter name="pagenumber">
+ <cd:parameter list="yes" name="pagenumber">
<cd:constant default="yes" type="yes"/>
<cd:constant type="no"/>
<cd:constant type="always"/>
+ <cd:constant type="realpage"/>
</cd:parameter>
<cd:parameter name="headnumber">
<cd:constant default="yes" type="yes"/>
@@ -21625,11 +21915,15 @@
<cd:command category="symbols" file="cont-log.mkiv" level="document" name="MKII"/>
<cd:command category="symbols" file="cont-log.mkiv" level="document" name="MKIV"/>
<cd:command category="symbols" file="cont-log.mkiv" level="document" name="MKVI"/>
+ <cd:command category="symbols" file="cont-log.mkiv" level="document" name="MKXL"/>
+ <cd:command category="symbols" file="cont-log.mkiv" level="document" name="MKLX"/>
<cd:command category="symbols" file="cont-log.mkiv" level="document" name="MKIX"/>
<cd:command category="symbols" file="cont-log.mkiv" level="document" name="MKXI"/>
<cd:command category="symbols" file="cont-log.mkiv" level="document" name="MPII"/>
<cd:command category="symbols" file="cont-log.mkiv" level="document" name="MPIV"/>
<cd:command category="symbols" file="cont-log.mkiv" level="document" name="MPVI"/>
+ <cd:command category="symbols" file="cont-log.mkiv" level="document" name="MPXL"/>
+ <cd:command category="symbols" file="cont-log.mkiv" level="document" name="MPLX"/>
<cd:command category="symbols" file="cont-log.mkiv" level="document" name="PPCHTeX"/>
<cd:command category="symbols" file="cont-log.mkiv" level="document" name="PPCHTEX"/>
<cd:command category="symbols" file="cont-log.mkiv" level="document" name="PRAGMA"/>
@@ -22105,6 +22399,76 @@
</cd:sequence>
</cd:command>
</cd:interface>
+ <cd:interface file="i-luatable.xml">
+ <cd:command category="lua" file="cldf-int.mkxl" level="system" name="newluatable">
+ <cd:arguments>
+ <cd:csname/>
+ </cd:arguments>
+ </cd:command>
+ <cd:command category="lua" file="cldf-int.mkxl" level="system" name="useluatable">
+ <cd:arguments>
+ <cd:csname/>
+ </cd:arguments>
+ </cd:command>
+ <cd:command category="lua" file="cldf-lmt.lua" level="system" name="disposeluatable">
+ <cd:arguments>
+ <cd:csname/>
+ </cd:arguments>
+ </cd:command>
+ <cd:command category="lua" file="cldf-lmt.lua" level="system" name="inspectluatable">
+ <cd:arguments>
+ <cd:csname/>
+ </cd:arguments>
+ </cd:command>
+ <cd:command category="lua" file="cldf-lmt.lua" level="system" name="showluatables"/>
+ <cd:command category="lua" file="cldf-lmt.lua" level="system" name="setluatable">
+ <cd:arguments>
+ <cd:csname/>
+ <cd:content/>
+ </cd:arguments>
+ </cd:command>
+ <cd:command category="lua" file="cldf-lmt.lua" level="system" name="getfromluatable">
+ <cd:arguments>
+ <cd:csname/>
+ <cd:keywords delimiters="braces">
+ <cd:constant type="cd:key"/>
+ <cd:constant type="cd:number"/>
+ </cd:keywords>
+ </cd:arguments>
+ </cd:command>
+ <cd:command category="lua" file="cldf-lmt.lua" level="system" name="idxfromluatable">
+ <cd:arguments>
+ <cd:csname/>
+ <cd:keywords delimiters="none">
+ <cd:constant type="cd:number"/>
+ </cd:keywords>
+ </cd:arguments>
+ </cd:command>
+ <cd:command category="lua" file="cldf-int.mkxl" level="system" name="setdatavalue">
+ <cd:arguments>
+ <cd:keywords delimiters="braces">
+ <cd:constant type="cd:name"/>
+ </cd:keywords>
+ <cd:keywords delimiters="braces">
+ <cd:constant type="cd:number"/>
+ </cd:keywords>
+ </cd:arguments>
+ </cd:command>
+ <cd:command category="lua" file="cldf-int.mkxl" level="system" name="getdatavalue">
+ <cd:arguments>
+ <cd:keywords delimiters="braces">
+ <cd:constant type="cd:name"/>
+ </cd:keywords>
+ </cd:arguments>
+ </cd:command>
+ <cd:command category="lua" file="cldf-int.mkxl" level="system" name="thedatavalue">
+ <cd:arguments>
+ <cd:keywords delimiters="braces">
+ <cd:constant type="cd:name"/>
+ </cd:keywords>
+ </cd:arguments>
+ </cd:command>
+ </cd:interface>
<cd:interface file="i-makeup.xml">
<cd:command category="structure layout" file="page-mak.mkvi" level="style" name="definemakeup">
<cd:arguments>
@@ -22643,6 +23007,7 @@
<cd:keywords optional="yes">
<cd:constant default="yes" type="page"/>
<cd:constant type="cd:name"/>
+ <cd:constant type="cd:number"/>
</cd:keywords>
<cd:keywords optional="yes">
<cd:constant type="first"/>
@@ -22736,6 +23101,7 @@
<cd:keywords>
<cd:constant type="page"/>
<cd:constant type="cd:name"/>
+ <cd:constant type="cd:number"/>
</cd:keywords>
<cd:keywords>
<cd:constant type="first"/>
@@ -22765,6 +23131,7 @@
<cd:keywords>
<cd:constant type="page"/>
<cd:constant type="cd:name"/>
+ <cd:constant type="cd:number"/>
</cd:keywords>
<cd:keywords>
<cd:constant type="first"/>
@@ -22794,6 +23161,7 @@
<cd:keywords>
<cd:constant type="page"/>
<cd:constant type="cd:name"/>
+ <cd:constant type="cd:number"/>
</cd:keywords>
</cd:arguments>
</cd:command>
@@ -22805,6 +23173,7 @@
<cd:keywords>
<cd:constant type="page"/>
<cd:constant type="cd:name"/>
+ <cd:constant type="cd:number"/>
</cd:keywords>
</cd:arguments>
</cd:command>
@@ -22924,9 +23293,9 @@
<cd:constant type="normal"/>
</cd:parameter>
<cd:parameter name="collapsing">
- <cd:constant type="1"/>
+ <cd:constant default="yes" type="1"/>
<cd:constant type="2"/>
- <cd:constant default="yes" type="3"/>
+ <cd:constant type="3"/>
<cd:constant type="none"/>
<cd:constant type="reset"/>
</cd:parameter>
@@ -24769,14 +25138,40 @@
<cd:command category="graphics metapost" file="meta-ini.mkiv" level="style" name="MPdefinitions" type="environment">
<cd:arguments>
<cd:keywords delimiters="braces" optional="yes">
- <cd:constant type="cd:name"/>
+ <cd:constant type="metafun"/>
+ <cd:constant type="minifun"/>
+ <cd:constant type="extrafun"/>
+ <cd:constant type="lessfun"/>
+ <cd:constant type="doublefun"/>
+ <cd:constant type="binaryfun"/>
+ <cd:constant type="decimalfun"/>
+ <cd:constant type="mprun"/>
+ <cd:constant type="metapost"/>
+ <cd:constant type="nofun"/>
+ <cd:constant type="doublepost"/>
+ <cd:constant type="binarypost"/>
+ <cd:constant type="decimalpost"/>
+ <cd:constant type="simplefun"/>
</cd:keywords>
</cd:arguments>
</cd:command>
<cd:command category="graphics metapost" file="meta-ini.mkiv" level="style" name="MPextensions" type="environment">
<cd:arguments>
<cd:keywords delimiters="braces" list="yes" optional="yes">
- <cd:constant type="cd:name"/>
+ <cd:constant type="metafun"/>
+ <cd:constant type="minifun"/>
+ <cd:constant type="extrafun"/>
+ <cd:constant type="lessfun"/>
+ <cd:constant type="doublefun"/>
+ <cd:constant type="binaryfun"/>
+ <cd:constant type="decimalfun"/>
+ <cd:constant type="mprun"/>
+ <cd:constant type="metapost"/>
+ <cd:constant type="nofun"/>
+ <cd:constant type="doublepost"/>
+ <cd:constant type="binarypost"/>
+ <cd:constant type="decimalpost"/>
+ <cd:constant type="simplefun"/>
</cd:keywords>
</cd:arguments>
</cd:command>
@@ -24787,7 +25182,20 @@
<cd:constant type="+"/>
</cd:keywords>
<cd:keywords delimiters="braces" optional="yes">
- <cd:constant type="cd:name"/>
+ <cd:constant type="metafun"/>
+ <cd:constant type="minifun"/>
+ <cd:constant type="extrafun"/>
+ <cd:constant type="lessfun"/>
+ <cd:constant type="doublefun"/>
+ <cd:constant type="binaryfun"/>
+ <cd:constant type="decimalfun"/>
+ <cd:constant type="mprun"/>
+ <cd:constant type="metapost"/>
+ <cd:constant type="nofun"/>
+ <cd:constant type="doublepost"/>
+ <cd:constant type="binarypost"/>
+ <cd:constant type="decimalpost"/>
+ <cd:constant type="simplefun"/>
</cd:keywords>
</cd:arguments>
</cd:command>
@@ -24797,7 +25205,20 @@
<cd:constant type="+"/>
</cd:keywords>
<cd:keywords delimiters="braces" optional="yes">
- <cd:constant type="cd:name"/>
+ <cd:constant type="metafun"/>
+ <cd:constant type="minifun"/>
+ <cd:constant type="extrafun"/>
+ <cd:constant type="lessfun"/>
+ <cd:constant type="doublefun"/>
+ <cd:constant type="binaryfun"/>
+ <cd:constant type="decimalfun"/>
+ <cd:constant type="mprun"/>
+ <cd:constant type="metapost"/>
+ <cd:constant type="nofun"/>
+ <cd:constant type="doublepost"/>
+ <cd:constant type="binarypost"/>
+ <cd:constant type="decimalpost"/>
+ <cd:constant type="simplefun"/>
</cd:keywords>
<cd:content/>
</cd:arguments>
@@ -24823,6 +25244,7 @@
<cd:assignments list="yes">
<cd:parameter name="format">
<cd:constant default="yes" type="metafun"/>
+ <cd:constant type="minifun"/>
<cd:constant type="mpost"/>
</cd:parameter>
<cd:parameter name="initializations">
@@ -25110,14 +25532,40 @@
<cd:command category="graphics metapost" file="meta-ini.mkiv" level="document" name="MPcode" type="environment">
<cd:arguments>
<cd:keywords delimiters="braces" optional="yes">
- <cd:constant type="cd:name"/>
+ <cd:constant type="metafun"/>
+ <cd:constant type="minifun"/>
+ <cd:constant type="extrafun"/>
+ <cd:constant type="lessfun"/>
+ <cd:constant type="doublefun"/>
+ <cd:constant type="binaryfun"/>
+ <cd:constant type="decimalfun"/>
+ <cd:constant type="mprun"/>
+ <cd:constant type="metapost"/>
+ <cd:constant type="nofun"/>
+ <cd:constant type="doublepost"/>
+ <cd:constant type="binarypost"/>
+ <cd:constant type="decimalpost"/>
+ <cd:constant type="simplefun"/>
</cd:keywords>
</cd:arguments>
</cd:command>
<cd:command category="graphics metapost" file="meta-ini.mkiv" level="document" name="MPcode">
<cd:arguments>
<cd:keywords delimiters="braces" optional="yes">
- <cd:constant type="cd:name"/>
+ <cd:constant type="metafun"/>
+ <cd:constant type="minifun"/>
+ <cd:constant type="extrafun"/>
+ <cd:constant type="lessfun"/>
+ <cd:constant type="doublefun"/>
+ <cd:constant type="binaryfun"/>
+ <cd:constant type="decimalfun"/>
+ <cd:constant type="mprun"/>
+ <cd:constant type="metapost"/>
+ <cd:constant type="nofun"/>
+ <cd:constant type="doublepost"/>
+ <cd:constant type="binarypost"/>
+ <cd:constant type="decimalpost"/>
+ <cd:constant type="simplefun"/>
</cd:keywords>
<cd:content/>
</cd:arguments>
@@ -26848,6 +27296,9 @@
<cd:parameter name="compressdistance">
<cd:constant type="cd:dimension"/>
</cd:parameter>
+ <cd:parameter name="compressstopper">
+ <cd:constant type="cd:command"/>
+ </cd:parameter>
<cd:inherit name="setupnote"/>
</cd:assignments>
</cd:arguments>
@@ -27571,6 +28022,7 @@
<cd:constant type="lastpage"/>
<cd:constant type="start"/>
<cd:constant type="stop"/>
+ <cd:constant type="xy"/>
</cd:keywords>
</cd:arguments>
</cd:command>
@@ -27602,6 +28054,7 @@
<cd:constant type="lastpage"/>
<cd:constant type="start"/>
<cd:constant type="stop"/>
+ <cd:constant type="xy"/>
<cd:constant type="cd:name"/>
</cd:keywords>
</cd:arguments>
@@ -33840,6 +34293,33 @@
<cd:constant type="-"/>
<cd:constant type="cd:text"/>
</cd:parameter>
+ <cd:parameter name="labelalternative">
+ <cd:constant type="inleftmargin"/>
+ <cd:constant type="inrightmargin"/>
+ <cd:constant type="inoutermargin"/>
+ <cd:constant type="ininnermargin"/>
+ <cd:constant type="inleftedge"/>
+ <cd:constant type="inrightedge"/>
+ <cd:constant type="inouteredge"/>
+ <cd:constant type="ininneredge"/>
+ <cd:constant type="atleftmargin"/>
+ <cd:constant type="atrightmargin"/>
+ <cd:constant type="inleft"/>
+ <cd:constant type="inright"/>
+ <cd:constant type="inouter"/>
+ <cd:constant type="ininner"/>
+ <cd:constant type="inmargin"/>
+ <cd:constant type="inother"/>
+ <cd:constant type="margintext"/>
+ <cd:constant type="cd:name"/>
+ </cd:parameter>
+ <cd:parameter name="labelstyle">
+ <cd:constant type="cd:style"/>
+ <cd:constant type="cd:command"/>
+ </cd:parameter>
+ <cd:parameter name="labelcolor">
+ <cd:constant type="cd:color"/>
+ </cd:parameter>
</cd:assignments>
</cd:arguments>
</cd:command>
@@ -37987,7 +38467,18 @@
<cd:command category="structure layout" file="page-smp.mkiv" level="system" name="simplecolumns" type="environment">
<cd:arguments>
<cd:assignments list="yes" optional="yes">
- <cd:inherit name="setsimplecolumnshsize"/>
+ <cd:parameter name="n">
+ <cd:constant type="cd:number"/>
+ </cd:parameter>
+ <cd:parameter name="width">
+ <cd:constant type="cd:dimension"/>
+ </cd:parameter>
+ <cd:parameter name="distance">
+ <cd:constant type="cd:dimension"/>
+ </cd:parameter>
+ <cd:parameter name="lines">
+ <cd:constant type="cd:number"/>
+ </cd:parameter>
</cd:assignments>
</cd:arguments>
</cd:command>
@@ -43654,6 +44145,7 @@
<cd:command file="syst-aux.mkiv" level="system" name="resettimer"/>
<cd:command file="syst-aux.mkiv" level="system" name="elapsedtime"/>
<cd:command file="syst-aux.mkiv" level="system" name="elapsedseconds"/>
+ <cd:command file="syst-aux.mkiv" level="system" name="elapsedsteptime"/>
<cd:command file="syst-aux.mkiv" level="system" name="currentfeaturetest"/>
<cd:command file="syst-aux.mkiv" level="system" name="testfeature">
<cd:arguments>
@@ -43663,6 +44155,7 @@
<cd:content/>
</cd:arguments>
</cd:command>
+ <cd:command file="syst-aux.mkiv" level="system" name="retestfeature"/>
<cd:command file="syst-aux.mkiv" level="system" name="showtimer">
<cd:arguments>
<cd:keywords delimiters="braces">
@@ -44155,7 +44648,7 @@
</cd:command>
</cd:interface>
<cd:interface file="i-tabulation.xml">
- <cd:command category="tables" file="tabl-tbl.mkiv" level="style" name="definetabulation">
+ <cd:command category="tables" file="tabl-tbl.mkiv" level="style" name="definetabulate">
<cd:arguments>
<cd:keywords>
<cd:constant type="cd:name"/>
@@ -44163,14 +44656,15 @@
<cd:keywords optional="yes">
<cd:constant type="cd:name"/>
</cd:keywords>
- <cd:assignments list="yes" optional="yes">
- <cd:inherit name="setuptabulation"/>
- </cd:assignments>
+ <cd:template optional="yes"/>
</cd:arguments>
</cd:command>
- <cd:command category="tables" file="tabl-tbl.mkiv" level="style" name="setuptabulation">
+ <cd:command category="tables" file="tabl-tbl.mkiv" level="style" name="setuptabulate">
<cd:arguments>
- <cd:keywords list="yes" optional="yes">
+ <cd:keywords optional="yes">
+ <cd:constant type="cd:name"/>
+ </cd:keywords>
+ <cd:keywords optional="yes">
<cd:constant type="cd:name"/>
</cd:keywords>
<cd:assignments list="yes">
@@ -44322,43 +44816,6 @@
</cd:assignments>
</cd:arguments>
</cd:command>
- <cd:command category="tables" file="tabl-tbl.mkiv" generated="yes" level="document" name="tabulation" type="environment" variant="example">
- <cd:sequence>
- <cd:variable value="tabulation"/>
- </cd:sequence>
- <cd:arguments>
- <cd:keywords optional="yes">
- <cd:constant type="cd:name"/>
- </cd:keywords>
- <cd:assignments list="yes" optional="yes">
- <cd:inherit name="setuptabulation"/>
- </cd:assignments>
- </cd:arguments>
- </cd:command>
- <cd:command category="tables" file="tabl-tbl.mkiv" level="style" name="definetabulate">
- <cd:arguments>
- <cd:keywords>
- <cd:constant type="cd:name"/>
- </cd:keywords>
- <cd:keywords optional="yes">
- <cd:constant type="cd:name"/>
- </cd:keywords>
- <cd:template optional="yes"/>
- </cd:arguments>
- </cd:command>
- <cd:command category="tables" file="tabl-tbl.mkiv" level="style" name="setuptabulate">
- <cd:arguments>
- <cd:keywords optional="yes">
- <cd:constant type="cd:name"/>
- </cd:keywords>
- <cd:keywords optional="yes">
- <cd:constant type="cd:name"/>
- </cd:keywords>
- <cd:assignments list="yes">
- <cd:inherit name="setuptabulation"/>
- </cd:assignments>
- </cd:arguments>
- </cd:command>
<cd:command category="tables" file="tabl-tbl.mkiv" level="document" name="tabulate" type="environment">
<cd:arguments>
<cd:template optional="yes"/>
diff --git a/tex/context/interface/mkiv/i-accent.xml b/tex/context/interface/mkiv/i-accent.xml
index 190e1faa9..1b9560cb1 100644
--- a/tex/context/interface/mkiv/i-accent.xml
+++ b/tex/context/interface/mkiv/i-accent.xml
@@ -261,4 +261,4 @@
-->
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-anchor.xml b/tex/context/interface/mkiv/i-anchor.xml
index c8dad56d5..b3c366cfd 100644
--- a/tex/context/interface/mkiv/i-anchor.xml
+++ b/tex/context/interface/mkiv/i-anchor.xml
@@ -32,4 +32,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-attachment.xml b/tex/context/interface/mkiv/i-attachment.xml
index 550cc57ce..ed7586000 100644
--- a/tex/context/interface/mkiv/i-attachment.xml
+++ b/tex/context/interface/mkiv/i-attachment.xml
@@ -160,4 +160,4 @@
-->
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-attribute.xml b/tex/context/interface/mkiv/i-attribute.xml
index 0ea4ce7c0..f1117cf04 100644
--- a/tex/context/interface/mkiv/i-attribute.xml
+++ b/tex/context/interface/mkiv/i-attribute.xml
@@ -95,4 +95,4 @@
<cd:command name="showattributes" category="attribute" level="document" file="attr-ini.mkiv"/>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-backend.xml b/tex/context/interface/mkiv/i-backend.xml
index d0bdb4853..ccb948e9b 100644
--- a/tex/context/interface/mkiv/i-backend.xml
+++ b/tex/context/interface/mkiv/i-backend.xml
@@ -86,4 +86,19 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+ <cd:command name="setupoutput" file="back-ini.mkxl">
+ <cd:arguments>
+ <cd:keywords>
+ <cd:constant type="default"/>
+ <cd:constant type="pdf"/>
+ <cd:constant type="lua"/>
+ <cd:constant type="json"/>
+ <cd:constant type="js"/>
+ <cd:constant type="mps"/>
+ <cd:constant type="none"/>
+ <cd:constant type="empty"/>
+ </cd:keywords>
+ </cd:arguments>
+ </cd:command>
+
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-blackrule.xml b/tex/context/interface/mkiv/i-blackrule.xml
index 0463f21ed..d9561a59f 100644
--- a/tex/context/interface/mkiv/i-blackrule.xml
+++ b/tex/context/interface/mkiv/i-blackrule.xml
@@ -110,9 +110,11 @@
<cd:constant type="cd:text" prefix="type␣" method="none"/>
<cd:constant type="cd:text" prefix="data␣" method="none"/>
<cd:constant type="cd:text" prefix="name␣" method="none"/>
+ <cd:constant type="cd:dimension" prefix="radius␣" method="none"/>
+ <cd:constant type="cd:text" prefix="corner␣" method="none"/>
</cd:keywords>
<cd:delimiter name="relax"/>
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-bleed.xml b/tex/context/interface/mkiv/i-bleed.xml
index ee860b85f..f48b9d40c 100644
--- a/tex/context/interface/mkiv/i-bleed.xml
+++ b/tex/context/interface/mkiv/i-bleed.xml
@@ -61,4 +61,4 @@
<cd:command name="bleedheight" level="style" category="graphics" file="pack-box.mkiv"/>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-bookmark.xml b/tex/context/interface/mkiv/i-bookmark.xml
index 3dbfa3406..4b02ab7d1 100644
--- a/tex/context/interface/mkiv/i-bookmark.xml
+++ b/tex/context/interface/mkiv/i-bookmark.xml
@@ -76,4 +76,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-buffer.xml b/tex/context/interface/mkiv/i-buffer.xml
index f08cb8ca4..b166c84b1 100644
--- a/tex/context/interface/mkiv/i-buffer.xml
+++ b/tex/context/interface/mkiv/i-buffer.xml
@@ -231,4 +231,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-capitals.xml b/tex/context/interface/mkiv/i-capitals.xml
index 6115b1519..03d8d7f8b 100644
--- a/tex/context/interface/mkiv/i-capitals.xml
+++ b/tex/context/interface/mkiv/i-capitals.xml
@@ -223,4 +223,4 @@
<cd:command name="randomized" type="environment" level="document" category="fonts" file="typo-cap.mkiv"/>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-catcodes.xml b/tex/context/interface/mkiv/i-catcodes.xml
index 351e8f6e4..75a17a0e4 100644
--- a/tex/context/interface/mkiv/i-catcodes.xml
+++ b/tex/context/interface/mkiv/i-catcodes.xml
@@ -120,4 +120,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-characteralign.xml b/tex/context/interface/mkiv/i-characteralign.xml
index b95ff8487..d2aa3f9eb 100644
--- a/tex/context/interface/mkiv/i-characteralign.xml
+++ b/tex/context/interface/mkiv/i-characteralign.xml
@@ -93,4 +93,4 @@
<cd:command name="setsecondpasscharacteralign" level="system" category="alignment" file="typo-tal.mkiv"/>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-characterspacing.xml b/tex/context/interface/mkiv/i-characterspacing.xml
index 0247115a3..6c43db076 100644
--- a/tex/context/interface/mkiv/i-characterspacing.xml
+++ b/tex/context/interface/mkiv/i-characterspacing.xml
@@ -40,4 +40,4 @@
<cd:command name="resetcharacterspacing" level="style" category="fonts" file="typo-spa.mkiv"/>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-characterstripping.xml b/tex/context/interface/mkiv/i-characterstripping.xml
index 5c776e3ab..ee9750f3e 100644
--- a/tex/context/interface/mkiv/i-characterstripping.xml
+++ b/tex/context/interface/mkiv/i-characterstripping.xml
@@ -17,4 +17,4 @@
<cd:command name="forcecharacterstripping" level="style" category="language" file="typo-rep.mkiv"/>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-chart.xml b/tex/context/interface/mkiv/i-chart.xml
index 43672efa0..7f0a51393 100644
--- a/tex/context/interface/mkiv/i-chart.xml
+++ b/tex/context/interface/mkiv/i-chart.xml
@@ -541,4 +541,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-charwidth.xml b/tex/context/interface/mkiv/i-charwidth.xml
index dc19713f3..14d5d71ed 100644
--- a/tex/context/interface/mkiv/i-charwidth.xml
+++ b/tex/context/interface/mkiv/i-charwidth.xml
@@ -14,4 +14,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-chemical.xml b/tex/context/interface/mkiv/i-chemical.xml
index a2df03ede..2d2498797 100644
--- a/tex/context/interface/mkiv/i-chemical.xml
+++ b/tex/context/interface/mkiv/i-chemical.xml
@@ -252,4 +252,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-cleaning.xml b/tex/context/interface/mkiv/i-cleaning.xml
index dd54fdacc..f5f7b353a 100644
--- a/tex/context/interface/mkiv/i-cleaning.xml
+++ b/tex/context/interface/mkiv/i-cleaning.xml
@@ -35,6 +35,14 @@
</cd:arguments>
</cd:command>
+ <cd:command name="doifelsemarkedcontent" level="system" category="conditional" file="typo-chr.mkiv">
+ <cd:arguments>
+ <cd:resolve name="argument-name"/>
+ <cd:resolve name="argument-true"/>
+ <cd:resolve name="argument-false"/>
+ </cd:arguments>
+ </cd:command>
+
<cd:command name="setcharactercleaning" level="system" file="typo-cln.mkiv">
<cd:arguments>
<cd:keywords>
diff --git a/tex/context/interface/mkiv/i-clipping.xml b/tex/context/interface/mkiv/i-clipping.xml
index c823b102d..2eda483b6 100644
--- a/tex/context/interface/mkiv/i-clipping.xml
+++ b/tex/context/interface/mkiv/i-clipping.xml
@@ -75,4 +75,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-collector.xml b/tex/context/interface/mkiv/i-collector.xml
index 6642e6980..8531d4009 100644
--- a/tex/context/interface/mkiv/i-collector.xml
+++ b/tex/context/interface/mkiv/i-collector.xml
@@ -111,4 +111,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-color.xml b/tex/context/interface/mkiv/i-color.xml
index 6a4042ae8..ee5597e95 100644
--- a/tex/context/interface/mkiv/i-color.xml
+++ b/tex/context/interface/mkiv/i-color.xml
@@ -610,4 +610,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-columns.xml b/tex/context/interface/mkiv/i-columns.xml
index aa290a0a9..d112efeb9 100644
--- a/tex/context/interface/mkiv/i-columns.xml
+++ b/tex/context/interface/mkiv/i-columns.xml
@@ -81,9 +81,40 @@
</cd:arguments>
</cd:command>
- <cd:command name="setsimplecolumnshsize" level="system" category="columns" file="page-mul.mkiv">
+ <!--
+
+ <cd:command name="setsimplecolumnshsize" level="system" category="columns" file="page-mul.mkiv">
+ <cd:arguments>
+ <cd:assignments list="yes">
+ <cd:parameter name="n">
+ <cd:constant type="cd:number"/>
+ </cd:parameter>
+ <cd:parameter name="width">
+ <cd:constant type="cd:dimension"/>
+ </cd:parameter>
+ <cd:parameter name="distance">
+ <cd:constant type="cd:dimension"/>
+ </cd:parameter>
+ <cd:parameter name="lines">
+ <cd:constant type="cd:number"/>
+ </cd:parameter>
+ </cd:assignments>
+ </cd:arguments>
+ </cd:command>
+
+ <cd:command name="simplecolumns" type="environment" level="system" category="columns" file="page-mul.mkiv">
+ <cd:arguments>
+ <cd:assignments list="yes" optional="yes">
+ <cd:inherit name="setsimplecolumnshsize"/>
+ </cd:assignments>
+ </cd:arguments>
+ </cd:command>
+
+ -->
+
+ <cd:command name="simplecolumns" type="environment" level="system" category="columns" file="page-mul.mkiv">
<cd:arguments>
- <cd:assignments list="yes">
+ <cd:assignments list="yes" optional="yes">
<cd:parameter name="n">
<cd:constant type="cd:number"/>
</cd:parameter>
@@ -100,12 +131,4 @@
</cd:arguments>
</cd:command>
- <cd:command name="simplecolumns" type="environment" level="system" category="columns" file="page-mul.mkiv">
- <cd:arguments>
- <cd:assignments list="yes" optional="yes">
- <cd:inherit name="setsimplecolumnshsize"/>
- </cd:assignments>
- </cd:arguments>
- </cd:command>
-
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-combination.xml b/tex/context/interface/mkiv/i-combination.xml
index bd732c264..d2d07f06e 100644
--- a/tex/context/interface/mkiv/i-combination.xml
+++ b/tex/context/interface/mkiv/i-combination.xml
@@ -128,4 +128,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-comment.xml b/tex/context/interface/mkiv/i-comment.xml
index a1eb14d23..913b8e152 100644
--- a/tex/context/interface/mkiv/i-comment.xml
+++ b/tex/context/interface/mkiv/i-comment.xml
@@ -153,4 +153,4 @@
-->
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-common-argument.xml b/tex/context/interface/mkiv/i-common-argument.xml
index 89ce1904b..5741a1c8a 100644
--- a/tex/context/interface/mkiv/i-common-argument.xml
+++ b/tex/context/interface/mkiv/i-common-argument.xml
@@ -565,4 +565,33 @@
</cd:keywords>
</cd:define>
-</cd:interface> \ No newline at end of file
+ <!-- * -->
+ <!-- \... {...} -->
+ <!-- -->
+ <!-- * INSTANCE -->
+
+ <cd:define name="argument-instance">
+ <cd:keywords delimiters="braces">
+ <cd:resolve name="value-instance"/>
+ </cd:keywords>
+ </cd:define>
+
+ <cd:define name="argument-instance-optional">
+ <cd:keywords delimiters="braces" optional="yes">
+ <cd:resolve name="value-instance"/>
+ </cd:keywords>
+ </cd:define>
+
+ <cd:define name="argument-instance-list">
+ <cd:keywords delimiters="braces" list="yes">
+ <cd:resolve name="value-instance"/>
+ </cd:keywords>
+ </cd:define>
+
+ <cd:define name="argument-instance-list-optional">
+ <cd:keywords delimiters="braces" list="yes" optional="yes">
+ <cd:resolve name="value-instance"/>
+ </cd:keywords>
+ </cd:define>
+
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-common-assignment.xml b/tex/context/interface/mkiv/i-common-assignment.xml
index 900a75452..f9d296484 100644
--- a/tex/context/interface/mkiv/i-common-assignment.xml
+++ b/tex/context/interface/mkiv/i-common-assignment.xml
@@ -333,4 +333,4 @@
</cd:assignments>
</cd:define>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-common-definitions.xml b/tex/context/interface/mkiv/i-common-definitions.xml
index 54e729aa4..9f6d461f9 100644
--- a/tex/context/interface/mkiv/i-common-definitions.xml
+++ b/tex/context/interface/mkiv/i-common-definitions.xml
@@ -9,4 +9,4 @@
<cd:interfacefile filename="i-common-value.xml"/>
<cd:interfacefile filename="i-common-instance.xml"/>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-common-instance.xml b/tex/context/interface/mkiv/i-common-instance.xml
index 3d4864de7..74d30263a 100644
--- a/tex/context/interface/mkiv/i-common-instance.xml
+++ b/tex/context/interface/mkiv/i-common-instance.xml
@@ -431,4 +431,4 @@
<cd:constant value="underbrackettext"/>
</cd:define>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-common-keyword.xml b/tex/context/interface/mkiv/i-common-keyword.xml
index 8469dab2f..19a4e18c7 100644
--- a/tex/context/interface/mkiv/i-common-keyword.xml
+++ b/tex/context/interface/mkiv/i-common-keyword.xml
@@ -809,4 +809,26 @@
</cd:keywords>
</cd:define>
-</cd:interface> \ No newline at end of file
+ <!-- * -->
+ <!-- \... [...] -->
+ <!-- -->
+ <!-- * TRACKER -->
+
+ <cd:define name="keyword-tracker-list">
+ <cd:keywords list="yes">
+ <cd:resolve name="value-tracker"/>
+ </cd:keywords>
+ </cd:define>
+
+ <!-- * -->
+ <!-- \... [...] -->
+ <!-- -->
+ <!-- * DIRECTIVE -->
+
+ <cd:define name="keyword-directive-list">
+ <cd:keywords list="yes">
+ <cd:resolve name="value-directive"/>
+ </cd:keywords>
+ </cd:define>
+
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-common-string.xml b/tex/context/interface/mkiv/i-common-string.xml
index 0c0bb2ef3..abcd8a78f 100644
--- a/tex/context/interface/mkiv/i-common-string.xml
+++ b/tex/context/interface/mkiv/i-common-string.xml
@@ -191,4 +191,4 @@
</cd:keywords>
</cd:define>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-common-value.xml b/tex/context/interface/mkiv/i-common-value.xml
index d34e1fc7d..c3caf1062 100644
--- a/tex/context/interface/mkiv/i-common-value.xml
+++ b/tex/context/interface/mkiv/i-common-value.xml
@@ -174,6 +174,7 @@
<cd:constant type="lastpage"/>
<cd:constant type="start"/>
<cd:constant type="stop"/>
+ <cd:constant type="xy"/>
</cd:define>
<!-- columnbreak = ... -->
@@ -914,4 +915,655 @@
<cd:constant type="cd:name"/>
</cd:define>
+ <!-- margindata -->
+
+ <cd:define name="value-margindata">
+ <cd:constant type="inleftmargin"/>
+ <cd:constant type="inrightmargin"/>
+ <cd:constant type="inoutermargin"/>
+ <cd:constant type="ininnermargin"/>
+ <cd:constant type="inleftedge"/>
+ <cd:constant type="inrightedge"/>
+ <cd:constant type="inouteredge"/>
+ <cd:constant type="ininneredge"/>
+ <cd:constant type="atleftmargin"/>
+ <cd:constant type="atrightmargin"/>
+ <cd:constant type="inleft"/>
+ <cd:constant type="inright"/>
+ <cd:constant type="inouter"/>
+ <cd:constant type="ininner"/>
+ <cd:constant type="inmargin"/>
+ <cd:constant type="inother"/>
+ <cd:constant type="margintext"/>
+ <cd:constant type="cd:name"/>
+ </cd:define>
+
+ <!-- instance -->
+
+ <cd:define name="value-instance">
+ <cd:constant type="metafun"/>
+ <cd:constant type="minifun"/>
+ <cd:constant type="extrafun"/>
+ <cd:constant type="lessfun"/>
+ <cd:constant type="doublefun"/>
+ <cd:constant type="binaryfun"/>
+ <cd:constant type="decimalfun"/>
+ <cd:constant type="mprun"/>
+ <cd:constant type="metapost"/>
+ <cd:constant type="nofun"/>
+ <cd:constant type="doublepost"/>
+ <cd:constant type="binarypost"/>
+ <cd:constant type="decimalpost"/>
+ <cd:constant type="simplefun"/>
+ </cd:define>
+
+ <!-- tracker -->
+
+ <cd:define name="value-tracker">
+ <cd:constant type="afm.features"/>
+ <cd:constant type="afm.indexing"/>
+ <cd:constant type="afm.loading"/>
+ <cd:constant type="attachments.anchors"/>
+ <cd:constant type="backend"/>
+ <cd:constant type="backend.details"/>
+ <cd:constant type="backend.finalizers"/>
+ <cd:constant type="backend.format"/>
+ <cd:constant type="backend.info"/>
+ <cd:constant type="backend.objects"/>
+ <cd:constant type="backend.pdf.fonts"/>
+ <cd:constant type="backend.resources"/>
+ <cd:constant type="backend.spaces"/>
+ <cd:constant type="backend.swf"/>
+ <cd:constant type="backend.variables"/>
+ <cd:constant type="backend.xmp"/>
+ <cd:constant type="backends.fields"/>
+ <cd:constant type="backends.javascript"/>
+ <cd:constant type="backends.pdf.threshold"/>
+ <cd:constant type="backgrounds.alignments"/>
+ <cd:constant type="backgrounds.shapes"/>
+ <cd:constant type="backgrounds.shapes.free"/>
+ <cd:constant type="backgrounds.shapes.ranges"/>
+ <cd:constant type="btxrendering"/>
+ <cd:constant type="buffers.grab"/>
+ <cd:constant type="buffers.parallel"/>
+ <cd:constant type="buffers.run"/>
+ <cd:constant type="buffers.visualize"/>
+ <cd:constant type="builders.hpack.overflow"/>
+ <cd:constant type="builders.hpack.quality"/>
+ <cd:constant type="builders.page"/>
+ <cd:constant type="builders.paragraphs.adjusting"/>
+ <cd:constant type="builders.paragraphs.basic"/>
+ <cd:constant type="builders.paragraphs.expansion"/>
+ <cd:constant type="builders.paragraphs.expansion.both"/>
+ <cd:constant type="builders.paragraphs.expansion.verbose"/>
+ <cd:constant type="builders.paragraphs.lastlinefit"/>
+ <cd:constant type="builders.paragraphs.protruding"/>
+ <cd:constant type="builders.paragraphs.solutions.splitters.colors"/>
+ <cd:constant type="builders.paragraphs.solutions.splitters.optimizer"/>
+ <cd:constant type="builders.paragraphs.solutions.splitters.splitter"/>
+ <cd:constant type="builders.post"/>
+ <cd:constant type="builders.vbox"/>
+ <cd:constant type="builders.vpack.quality"/>
+ <cd:constant type="characters.defining"/>
+ <cd:constant type="chemistry.boundingbox"/>
+ <cd:constant type="chemistry.boxes"/>
+ <cd:constant type="chemistry.metapost"/>
+ <cd:constant type="chemistry.molecules"/>
+ <cd:constant type="chemistry.structure"/>
+ <cd:constant type="chemistry.textstack"/>
+ <cd:constant type="colors.define"/>
+ <cd:constant type="colors.pgf"/>
+ <cd:constant type="columnsets.cells"/>
+ <cd:constant type="columnsets.details"/>
+ <cd:constant type="columnsets.trace"/>
+ <cd:constant type="comments.anchors"/>
+ <cd:constant type="context.define"/>
+ <cd:constant type="context.files"/>
+ <cd:constant type="context.stack"/>
+ <cd:constant type="context.trace"/>
+ <cd:constant type="delimited.language"/>
+ <cd:constant type="export.trace"/>
+ <cd:constant type="export.trace.details"/>
+ <cd:constant type="export.trace.spacing"/>
+ <cd:constant type="figures.comments"/>
+ <cd:constant type="figures.fields"/>
+ <cd:constant type="figures.inclusion"/>
+ <cd:constant type="figures.links"/>
+ <cd:constant type="figures.merging"/>
+ <cd:constant type="figures.outlines"/>
+ <cd:constant type="floats.anchoring"/>
+ <cd:constant type="floats.caching"/>
+ <cd:constant type="floats.collecting"/>
+ <cd:constant type="floats.freeregion"/>
+ <cd:constant type="fonts.addcharacters"/>
+ <cd:constant type="fonts.automode"/>
+ <cd:constant type="fonts.cff.charstrings"/>
+ <cd:constant type="fonts.collecting"/>
+ <cd:constant type="fonts.composing.define"/>
+ <cd:constant type="fonts.composing.visualize"/>
+ <cd:constant type="fonts.defining"/>
+ <cd:constant type="fonts.designsize"/>
+ <cd:constant type="fonts.effect"/>
+ <cd:constant type="fonts.expansion"/>
+ <cd:constant type="fonts.extend"/>
+ <cd:constant type="fonts.features"/>
+ <cd:constant type="fonts.goodies"/>
+ <cd:constant type="fonts.injections"/>
+ <cd:constant type="fonts.injections.cursive"/>
+ <cd:constant type="fonts.injections.marks"/>
+ <cd:constant type="fonts.injections.spaces"/>
+ <cd:constant type="fonts.loading"/>
+ <cd:constant type="fonts.mapfiles"/>
+ <cd:constant type="fonts.mapping"/>
+ <cd:constant type="fonts.merge"/>
+ <cd:constant type="fonts.missing"/>
+ <cd:constant type="fonts.names"/>
+ <cd:constant type="fonts.otf.loader.memory"/>
+ <cd:constant type="fonts.protrusion"/>
+ <cd:constant type="fonts.rejections"/>
+ <cd:constant type="fonts.reorderlookups"/>
+ <cd:constant type="fonts.scaling"/>
+ <cd:constant type="fonts.slant"/>
+ <cd:constant type="fonts.specifications"/>
+ <cd:constant type="fonts.squeeze"/>
+ <cd:constant type="fonts.stripping"/>
+ <cd:constant type="fonts.treatments"/>
+ <cd:constant type="fonts.unicoding"/>
+ <cd:constant type="fonts.usage"/>
+ <cd:constant type="fonts.warnings"/>
+ <cd:constant type="formulas.boxes"/>
+ <cd:constant type="formulas.framed"/>
+ <cd:constant type="graphic.runfile"/>
+ <cd:constant type="graphics.backend"/>
+ <cd:constant type="graphics.bases"/>
+ <cd:constant type="graphics.conversion"/>
+ <cd:constant type="graphics.fonts"/>
+ <cd:constant type="graphics.inclusion"/>
+ <cd:constant type="graphics.inheritance"/>
+ <cd:constant type="graphics.locating"/>
+ <cd:constant type="graphics.memstreams"/>
+ <cd:constant type="graphics.pdf"/>
+ <cd:constant type="graphics.programs"/>
+ <cd:constant type="graphics.usage"/>
+ <cd:constant type="hyphenator.steps"/>
+ <cd:constant type="hyphenator.visualize"/>
+ <cd:constant type="hyphenators.urls"/>
+ <cd:constant type="interfaces.namespaces"/>
+ <cd:constant type="job.datasets"/>
+ <cd:constant type="job.pagestates"/>
+ <cd:constant type="languages.labels"/>
+ <cd:constant type="languages.patterns"/>
+ <cd:constant type="languages.replacements"/>
+ <cd:constant type="languages.replacements.details"/>
+ <cd:constant type="languages.url"/>
+ <cd:constant type="linecorrection.boxes"/>
+ <cd:constant type="lines.numbers"/>
+ <cd:constant type="lines.numbers.show"/>
+ <cd:constant type="lmx.variables"/>
+ <cd:constant type="lxml.access"/>
+ <cd:constant type="lxml.comments"/>
+ <cd:constant type="lxml.inclusions"/>
+ <cd:constant type="lxml.loading"/>
+ <cd:constant type="lxml.manipulations"/>
+ <cd:constant type="lxml.selectors"/>
+ <cd:constant type="lxml.setups"/>
+ <cd:constant type="marks.details"/>
+ <cd:constant type="marks.get"/>
+ <cd:constant type="marks.set"/>
+ <cd:constant type="math.alternates"/>
+ <cd:constant type="math.analyzing"/>
+ <cd:constant type="math.classes"/>
+ <cd:constant type="math.collapsing"/>
+ <cd:constant type="math.collecting"/>
+ <cd:constant type="math.defining"/>
+ <cd:constant type="math.domains"/>
+ <cd:constant type="math.fallbacks"/>
+ <cd:constant type="math.families"/>
+ <cd:constant type="math.fences"/>
+ <cd:constant type="math.fixing"/>
+ <cd:constant type="math.goodies"/>
+ <cd:constant type="math.greek"/>
+ <cd:constant type="math.italics"/>
+ <cd:constant type="math.italics.visualize"/>
+ <cd:constant type="math.kernpairs"/>
+ <cd:constant type="math.makeup"/>
+ <cd:constant type="math.normalizing"/>
+ <cd:constant type="math.openedup"/>
+ <cd:constant type="math.patching"/>
+ <cd:constant type="math.processing"/>
+ <cd:constant type="math.remapping"/>
+ <cd:constant type="math.showtree"/>
+ <cd:constant type="math.stackers.texts"/>
+ <cd:constant type="math.timings"/>
+ <cd:constant type="math.unstack"/>
+ <cd:constant type="math.variants"/>
+ <cd:constant type="math.virtual"/>
+ <cd:constant type="memory.checking"/>
+ <cd:constant type="metapost.blobs"/>
+ <cd:constant type="metapost.btexetex"/>
+ <cd:constant type="metapost.forcestroke"/>
+ <cd:constant type="metapost.graphics"/>
+ <cd:constant type="metapost.lua"/>
+ <cd:constant type="metapost.nodes"/>
+ <cd:constant type="metapost.properties"/>
+ <cd:constant type="metapost.runs"/>
+ <cd:constant type="metapost.scripts"/>
+ <cd:constant type="metapost.showlog"/>
+ <cd:constant type="metapost.svg"/>
+ <cd:constant type="metapost.svg.colors"/>
+ <cd:constant type="metapost.svg.path"/>
+ <cd:constant type="metapost.svg.result"/>
+ <cd:constant type="metapost.svg.text"/>
+ <cd:constant type="metapost.terminal"/>
+ <cd:constant type="metapost.textexts"/>
+ <cd:constant type="metapost.tracingall"/>
+ <cd:constant type="metapost.variables"/>
+ <cd:constant type="mixedcolumns.boxes"/>
+ <cd:constant type="mixedcolumns.details"/>
+ <cd:constant type="mixedcolumns.trace"/>
+ <cd:constant type="modules.loading"/>
+ <cd:constant type="nodes.areas"/>
+ <cd:constant type="nodes.boxes"/>
+ <cd:constant type="nodes.callbacks"/>
+ <cd:constant type="nodes.characters"/>
+ <cd:constant type="nodes.destinations"/>
+ <cd:constant type="nodes.destinations.show"/>
+ <cd:constant type="nodes.directions"/>
+ <cd:constant type="nodes.fontrun"/>
+ <cd:constant type="nodes.frequencies"/>
+ <cd:constant type="nodes.migrations"/>
+ <cd:constant type="nodes.references"/>
+ <cd:constant type="nodes.references.show"/>
+ <cd:constant type="nodes.rules"/>
+ <cd:constant type="nodes.shifting"/>
+ <cd:constant type="nodes.stripping"/>
+ <cd:constant type="nodes.variants"/>
+ <cd:constant type="objects"/>
+ <cd:constant type="otf.actions"/>
+ <cd:constant type="otf.alternatives"/>
+ <cd:constant type="otf.analyzing"/>
+ <cd:constant type="otf.applied"/>
+ <cd:constant type="otf.baseinit"/>
+ <cd:constant type="otf.bugs"/>
+ <cd:constant type="otf.chains"/>
+ <cd:constant type="otf.cleanups"/>
+ <cd:constant type="otf.cmap"/>
+ <cd:constant type="otf.cmap.details"/>
+ <cd:constant type="otf.compruns"/>
+ <cd:constant type="otf.contexts"/>
+ <cd:constant type="otf.cursive"/>
+ <cd:constant type="otf.details"/>
+ <cd:constant type="otf.dynamics"/>
+ <cd:constant type="otf.features"/>
+ <cd:constant type="otf.kernruns"/>
+ <cd:constant type="otf.kerns"/>
+ <cd:constant type="otf.ligatures"/>
+ <cd:constant type="otf.loading"/>
+ <cd:constant type="otf.marks"/>
+ <cd:constant type="otf.markwidth"/>
+ <cd:constant type="otf.multiples"/>
+ <cd:constant type="otf.optimizations"/>
+ <cd:constant type="otf.packing"/>
+ <cd:constant type="otf.plugins"/>
+ <cd:constant type="otf.positions"/>
+ <cd:constant type="otf.preparing"/>
+ <cd:constant type="otf.sample"/>
+ <cd:constant type="otf.sample.silent"/>
+ <cd:constant type="otf.singles"/>
+ <cd:constant type="otf.skips"/>
+ <cd:constant type="otf.steps"/>
+ <cd:constant type="otf.substitutions"/>
+ <cd:constant type="otf.testruns"/>
+ <cd:constant type="otf.unicodes"/>
+ <cd:constant type="otr.forcestrutdepth"/>
+ <cd:constant type="pagebuilder.injections"/>
+ <cd:constant type="pagebuilder.insert"/>
+ <cd:constant type="pages.mark"/>
+ <cd:constant type="pages.timing"/>
+ <cd:constant type="paragraphs.anchors"/>
+ <cd:constant type="parbuilders.keeptogether"/>
+ <cd:constant type="physics.units"/>
+ <cd:constant type="profiling.show"/>
+ <cd:constant type="profiling.trace"/>
+ <cd:constant type="publications"/>
+ <cd:constant type="publications.authorhash"/>
+ <cd:constant type="publications.cite"/>
+ <cd:constant type="publications.cite.missing"/>
+ <cd:constant type="publications.cite.references"/>
+ <cd:constant type="publications.details"/>
+ <cd:constant type="publications.duplicates"/>
+ <cd:constant type="publications.match"/>
+ <cd:constant type="publications.setups"/>
+ <cd:constant type="publications.sorters"/>
+ <cd:constant type="publications.strings"/>
+ <cd:constant type="publications.suffixes"/>
+ <cd:constant type="references.bookmarks"/>
+ <cd:constant type="references.destinations"/>
+ <cd:constant type="references.references"/>
+ <cd:constant type="regimes.translating"/>
+ <cd:constant type="resolvers.cache"/>
+ <cd:constant type="resolvers.containers"/>
+ <cd:constant type="resolvers.details"/>
+ <cd:constant type="resolvers.expansions"/>
+ <cd:constant type="resolvers.globbing"/>
+ <cd:constant type="resolvers.lib"/>
+ <cd:constant type="resolvers.libraries"/>
+ <cd:constant type="resolvers.locating"/>
+ <cd:constant type="resolvers.methods"/>
+ <cd:constant type="resolvers.paths"/>
+ <cd:constant type="resolvers.readfile"/>
+ <cd:constant type="resolvers.readfile.details"/>
+ <cd:constant type="resolvers.schemes"/>
+ <cd:constant type="resolvers.storage"/>
+ <cd:constant type="resolvers.virtual"/>
+ <cd:constant type="rules.mp"/>
+ <cd:constant type="sandbox"/>
+ <cd:constant type="sandbox.tracecalls"/>
+ <cd:constant type="sandbox.tracefiles"/>
+ <cd:constant type="scripts.analyzing"/>
+ <cd:constant type="scripts.autofeature"/>
+ <cd:constant type="scripts.details"/>
+ <cd:constant type="scripts.injections"/>
+ <cd:constant type="scripts.splitting"/>
+ <cd:constant type="scripts.splitting.details"/>
+ <cd:constant type="selectfont.alternatives"/>
+ <cd:constant type="selectfont.features"/>
+ <cd:constant type="selectfont.files"/>
+ <cd:constant type="selectfont.goodies"/>
+ <cd:constant type="selectfont.register"/>
+ <cd:constant type="selectfont.typescripts"/>
+ <cd:constant type="sequencers.details"/>
+ <cd:constant type="sequencers.used"/>
+ <cd:constant type="sorters.methods"/>
+ <cd:constant type="sorters.orders"/>
+ <cd:constant type="sorters.replacements"/>
+ <cd:constant type="sorters.tests"/>
+ <cd:constant type="stacker.resolve"/>
+ <cd:constant type="streams.collecting"/>
+ <cd:constant type="streams.flushing"/>
+ <cd:constant type="structure.sidefloats.pageflush"/>
+ <cd:constant type="structures.counters"/>
+ <cd:constant type="structures.details"/>
+ <cd:constant type="structures.lists"/>
+ <cd:constant type="structures.notes"/>
+ <cd:constant type="structures.notes.references"/>
+ <cd:constant type="structures.pages"/>
+ <cd:constant type="structures.referencing"/>
+ <cd:constant type="structures.referencing.analyzing"/>
+ <cd:constant type="structures.referencing.empty"/>
+ <cd:constant type="structures.referencing.identifying"/>
+ <cd:constant type="structures.referencing.importing"/>
+ <cd:constant type="structures.referencing.show"/>
+ <cd:constant type="structures.registers"/>
+ <cd:constant type="structures.sectioning"/>
+ <cd:constant type="structures.showused"/>
+ <cd:constant type="structures.tags"/>
+ <cd:constant type="structures.tags.info"/>
+ <cd:constant type="system.callbacks"/>
+ <cd:constant type="system.directives"/>
+ <cd:constant type="system.dump"/>
+ <cd:constant type="system.experiments"/>
+ <cd:constant type="system.jobfiles"/>
+ <cd:constant type="system.jobstatus"/>
+ <cd:constant type="system.prepfiles"/>
+ <cd:constant type="system.randomizer"/>
+ <cd:constant type="system.randomizer.details"/>
+ <cd:constant type="system.showcodes"/>
+ <cd:constant type="system.synctex.visualize"/>
+ <cd:constant type="system.synctex.xml"/>
+ <cd:constant type="system.tempfiles"/>
+ <cd:constant type="system.texstatus"/>
+ <cd:constant type="tables.natural.widths"/>
+ <cd:constant type="tables.tabulate.breaks"/>
+ <cd:constant type="tasks.creation"/>
+ <cd:constant type="templates.trace"/>
+ <cd:constant type="tfm.features"/>
+ <cd:constant type="tfm.loading"/>
+ <cd:constant type="tokens.compile"/>
+ <cd:constant type="typesetters.breakpoints"/>
+ <cd:constant type="typesetters.casing"/>
+ <cd:constant type="typesetters.characteralign"/>
+ <cd:constant type="typesetters.characters"/>
+ <cd:constant type="typesetters.cleaners"/>
+ <cd:constant type="typesetters.cleaners.autocase"/>
+ <cd:constant type="typesetters.digits"/>
+ <cd:constant type="typesetters.directions"/>
+ <cd:constant type="typesetters.directions.details"/>
+ <cd:constant type="typesetters.directions.list"/>
+ <cd:constant type="typesetters.directions.math"/>
+ <cd:constant type="typesetters.directions.text"/>
+ <cd:constant type="typesetters.firstlines"/>
+ <cd:constant type="typesetters.initials"/>
+ <cd:constant type="typesetters.italics"/>
+ <cd:constant type="typesetters.kerns.ligatures"/>
+ <cd:constant type="typesetters.kerns.ligatures.details"/>
+ <cd:constant type="typesetters.margindata"/>
+ <cd:constant type="typesetters.margindata.group"/>
+ <cd:constant type="typesetters.margindata.stack"/>
+ <cd:constant type="typesetters.nbsp"/>
+ <cd:constant type="typesetters.periodkerns"/>
+ <cd:constant type="typesetters.processors"/>
+ <cd:constant type="typesetters.rubies"/>
+ <cd:constant type="typesetters.spacing"/>
+ <cd:constant type="typesetters.suspects"/>
+ <cd:constant type="typesetters.threshold"/>
+ <cd:constant type="typesetters.wrappers"/>
+ <cd:constant type="visualizers.all"/>
+ <cd:constant type="visualizers.boxes"/>
+ <cd:constant type="visualizers.depth"/>
+ <cd:constant type="visualizers.discretionary"/>
+ <cd:constant type="visualizers.expansion"/>
+ <cd:constant type="visualizers.fontkern"/>
+ <cd:constant type="visualizers.glue"/>
+ <cd:constant type="visualizers.glyph"/>
+ <cd:constant type="visualizers.hbox"/>
+ <cd:constant type="visualizers.italic"/>
+ <cd:constant type="visualizers.justification"/>
+ <cd:constant type="visualizers.kern"/>
+ <cd:constant type="visualizers.line"/>
+ <cd:constant type="visualizers.makeup"/>
+ <cd:constant type="visualizers.marginkern"/>
+ <cd:constant type="visualizers.math"/>
+ <cd:constant type="visualizers.origin"/>
+ <cd:constant type="visualizers.penalty"/>
+ <cd:constant type="visualizers.reset"/>
+ <cd:constant type="visualizers.simple"/>
+ <cd:constant type="visualizers.simplehbox"/>
+ <cd:constant type="visualizers.simplevbox"/>
+ <cd:constant type="visualizers.simplevtop"/>
+ <cd:constant type="visualizers.space"/>
+ <cd:constant type="visualizers.strut"/>
+ <cd:constant type="visualizers.user"/>
+ <cd:constant type="visualizers.vbox"/>
+ <cd:constant type="visualizers.vtop"/>
+ <cd:constant type="visualizers.whatsit"/>
+ <cd:constant type="vspacing.collect"/>
+ <cd:constant type="vspacing.forcestrutdepth"/>
+ <cd:constant type="vspacing.page"/>
+ <cd:constant type="vspacing.snapping"/>
+ <cd:constant type="vspacing.spacing"/>
+ <cd:constant type="vspacing.specials"/>
+ <cd:constant type="vspacing.synchronizepage"/>
+ <cd:constant type="vspacing.vbox"/>
+ <cd:constant type="widgets.attachments"/>
+ <cd:constant type="xml.entities"/>
+ <cd:constant type="xml.parse"/>
+ <cd:constant type="xml.path"/>
+ <cd:constant type="xml.profile"/>
+ <cd:constant type="xtable.construct"/>
+ </cd:define>
+
+ <!-- directive -->
+
+ <cd:define name="value-directive">
+ <cd:constant type="attributes.inheritance"/>
+ <cd:constant type="backend.addtags"/>
+ <cd:constant type="backend.date"/>
+ <cd:constant type="backend.format"/>
+ <cd:constant type="backend.omitextraboxes"/>
+ <cd:constant type="backend.pdf.forcecidset"/>
+ <cd:constant type="backend.pdf.threshold"/>
+ <cd:constant type="backend.trailerid"/>
+ <cd:constant type="backend.verbosexmp"/>
+ <cd:constant type="backend.xmp"/>
+ <cd:constant type="backends.spaces"/>
+ <cd:constant type="builders.paragraphs.adjusting.kerns"/>
+ <cd:constant type="builders.paragraphs.solutions.splitters.encapsulate"/>
+ <cd:constant type="characters.blockstoo"/>
+ <cd:constant type="characters.spaceafteruppercase"/>
+ <cd:constant type="chemistry.strictindex"/>
+ <cd:constant type="chemistry.strictorder"/>
+ <cd:constant type="colors.cmykrgbmode"/>
+ <cd:constant type="colors.pgf"/>
+ <cd:constant type="context.sorthash"/>
+ <cd:constant type="context.steps.noclose"/>
+ <cd:constant type="context.steps.nosteps"/>
+ <cd:constant type="destinations.log"/>
+ <cd:constant type="destinations.offset"/><!-- 5.0pt -->
+ <cd:constant type="export.comment"/>
+ <cd:constant type="export.embed"/>
+ <cd:constant type="export.lessstate"/>
+ <cd:constant type="export.math.autoapply"/>
+ <cd:constant type="export.math.autonumber"/>
+ <cd:constant type="export.math.autorows"/>
+ <cd:constant type="export.math.autostrip"/>
+ <cd:constant type="figures.embedded"/>
+ <cd:constant type="filters.utf.collapse"/>
+ <cd:constant type="filters.utf.decompose"/>
+ <cd:constant type="filters.utf.reorder"/>
+ <cd:constant type="fontgoodies.mathkerning"/>
+ <cd:constant type="fonts.autoreload"/>
+ <cd:constant type="fonts.checksharing"/>
+ <cd:constant type="fonts.embedall"/>
+ <cd:constant type="fonts.features.combine"/>
+ <cd:constant type="fonts.injections.useitalics"/>
+ <cd:constant type="fonts.mapping.forceligatures"/>
+ <cd:constant type="fonts.otf.loader.cleanup"/>
+ <cd:constant type="fonts.otf.loader.force"/>
+ <cd:constant type="fonts.otf.loader.forcenotdef"/>
+ <cd:constant type="fonts.otf.loader.syncspace"/>
+ <cd:constant type="fonts.streamreader"/><!-- 6 -->
+ <cd:constant type="fonts.streams.compact"/>
+ <cd:constant type="fonts.svg.cached"/>
+ <cd:constant type="fonts.usesystemfonts"/>
+ <cd:constant type="framed.checkmath"/>
+ <cd:constant type="graphics.autotransform"/>
+ <cd:constant type="graphics.conversion.cmykprofile"/>
+ <cd:constant type="graphics.conversion.eps.cleanup.ai"/>
+ <cd:constant type="graphics.conversion.rgbprofile"/>
+ <cd:constant type="graphics.extracheck"/>
+ <cd:constant type="graphics.pdf.recompress"/>
+ <cd:constant type="graphics.pdf.stripmarked"/>
+ <cd:constant type="graphics.png.compresslevel"/>
+ <cd:constant type="graphics.png.purelua"/>
+ <cd:constant type="graphics.png.recompress"/>
+ <cd:constant type="hyphenator.flatten"/>
+ <cd:constant type="hyphenator.optimize"/>
+ <cd:constant type="hyphenators.method"/>
+ <cd:constant type="hyphenators.urls.packslashes"/>
+ <cd:constant type="interaction.identity.preroll"/>
+ <cd:constant type="job.pack"/>
+ <cd:constant type="job.save"/>
+ <cd:constant type="languages.words.dump"/>
+ <cd:constant type="lmx.cache.files"/>
+ <cd:constant type="lmx.cache.templates"/>
+ <cd:constant type="logs.blocked"/>
+ <cd:constant type="logs.errors"/>
+ <cd:constant type="logs.target"/>
+ <cd:constant type="luatex.expanddepth"/><!-- 10000 -->
+ <cd:constant type="luatex.hashextra"/><!-- 100000 -->
+ <cd:constant type="luatex.maxinopen"/><!-- 500 -->
+ <cd:constant type="luatex.maxprintline"/><!-- 10000 -->
+ <cd:constant type="luatex.maxstrings"/><!-- 500000 -->
+ <cd:constant type="luatex.nestsize"/><!-- 1000 -->
+ <cd:constant type="luatex.paramsize"/><!-- 25000 -->
+ <cd:constant type="luatex.savesize"/><!-- 50000 -->
+ <cd:constant type="luatex.stacksize"/><!-- 10000 -->
+ <cd:constant type="lxml.entities.escaped"/>
+ <cd:constant type="lxml.entities.useelement"/>
+ <cd:constant type="marks.boxestoo"/>
+ <cd:constant type="math.checkcoverage"/>
+ <cd:constant type="math.virtual.optional"/>
+ <cd:constant type="metapost.lua.tolerant"/>
+ <cd:constant type="metapost.savetable"/>
+ <cd:constant type="modules.permitunprefixed"/>
+ <cd:constant type="mplib.texerrors"/>
+ <cd:constant type="nodes.basepass"/>
+ <cd:constant type="nodes.boundaryrun"/>
+ <cd:constant type="nodes.discrun"/>
+ <cd:constant type="nodes.keepredundant"/>
+ <cd:constant type="nodes.processors.force"/>
+ <cd:constant type="otf.acceptlanguages"/>
+ <cd:constant type="otf.acceptscripts"/>
+ <cd:constant type="otf.analyze.useunicodemarks"/>
+ <cd:constant type="otf.checksofthyphen"/>
+ <cd:constant type="otf.compact.pairs"/>
+ <cd:constant type="otf.compact.singles"/>
+ <cd:constant type="otf.fastdisc"/>
+ <cd:constant type="otf.forcediscretionaries"/>
+ <cd:constant type="otf.forcepairadvance"/>
+ <cd:constant type="otf.keepnames"/>
+ <cd:constant type="otf.merge.alternates"/>
+ <cd:constant type="otf.merge.cursives"/>
+ <cd:constant type="otf.merge.ligatures"/>
+ <cd:constant type="otf.merge.marks"/>
+ <cd:constant type="otf.merge.multiples"/>
+ <cd:constant type="otf.merge.pairs"/>
+ <cd:constant type="otf.merge.singles"/>
+ <cd:constant type="otf.merge.substitutions"/>
+ <cd:constant type="otf.threshold"/>
+ <cd:constant type="pdf.compact"/>
+ <cd:constant type="publications.prerollauthor"/>
+ <cd:constant type="references.bookmarks.preroll"/>
+ <cd:constant type="references.border"/>
+ <cd:constant type="references.linkmethod"/>
+ <cd:constant type="references.sharelinks"/>
+ <cd:constant type="references.untexurls"/>
+ <cd:constant type="resolvers.maxreadlevel"/>
+ <cd:constant type="resolvers.otherwise"/>
+ <cd:constant type="schemes.cleanmethod"/>
+ <cd:constant type="schemes.threshold"/>
+ <cd:constant type="structures.referencing.checkduplicates"/>
+ <cd:constant type="structures.tags.embed"/>
+ <cd:constant type="structures.tags.embedmath"/>
+ <cd:constant type="system.caches.direct"/>
+ <cd:constant type="system.caches.fast"/>
+ <cd:constant type="system.callbacks.permitoverloads"/>
+ <cd:constant type="system.commandlist"/><!-- mtxrun, convert, inkscape, gs, imagemagick, curl, bibtex, pstoedit -->
+ <cd:constant type="system.commandmode"/><!-- any -->
+ <cd:constant type="system.compile.cleanup"/>
+ <cd:constant type="system.compile.strip"/>
+ <cd:constant type="system.dumpdelta"/>
+ <cd:constant type="system.dumpfiles"/>
+ <cd:constant type="system.dumphash"/>
+ <cd:constant type="system.errorcontext"/><!-- 10 -->
+ <cd:constant type="system.executionlist"/>
+ <cd:constant type="system.executionmode"/>
+ <cd:constant type="system.inputmode"/><!-- any -->
+ <cd:constant type="system.librarylist"/>
+ <cd:constant type="system.librarymode"/>
+ <cd:constant type="system.linesplitmethod"/>
+ <cd:constant type="system.nolibraries"/>
+ <cd:constant type="system.nostatistics"/>
+ <cd:constant type="system.outputmode"/><!-- restricted -->
+ <cd:constant type="system.profile"/>
+ <cd:constant type="system.quitonerror"/>
+ <cd:constant type="system.reportfiles"/>
+ <cd:constant type="system.rootlist"/>
+ <cd:constant type="system.showerror"/>
+ <cd:constant type="system.synctex.compression"/>
+ <cd:constant type="system.usescitelexer"/>
+ <cd:constant type="tabulate.linenumbers"/>
+ <cd:constant type="typesetters.casing.checkkerns"/>
+ <cd:constant type="typesetters.characteralign.autofont"/>
+ <cd:constant type="typesetters.directions.onetoo"/>
+ <cd:constant type="typesetters.directions.removecontrols"/>
+ <cd:constant type="typesetters.processors.overloadcatcodes"/>
+ <cd:constant type="visualizers.fraction"/>
+ <cd:constant type="visualizers.raisepenalties"/>
+ <cd:constant type="vspacing.removemathskips"/>
+ <cd:constant type="vspacing.synchronizepage"/>
+ <cd:constant type="xml.path.keeplastmatch"/>
+ </cd:define>
+
</cd:interface>
diff --git a/tex/context/interface/mkiv/i-context-modules.xml b/tex/context/interface/mkiv/i-context-modules.xml
index 85194c6ec..319ba53df 100644
--- a/tex/context/interface/mkiv/i-context-modules.xml
+++ b/tex/context/interface/mkiv/i-context-modules.xml
@@ -37,4 +37,4 @@
<cd:interfacefile filename="i-translate.xml"/>
<cd:interfacefile filename="i-visual.xml"/>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-context.pdf b/tex/context/interface/mkiv/i-context.pdf
index 018ee8cb5..ca7a9bbbf 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-context.xml b/tex/context/interface/mkiv/i-context.xml
index 17ef0636a..cb82fb4a4 100644
--- a/tex/context/interface/mkiv/i-context.xml
+++ b/tex/context/interface/mkiv/i-context.xml
@@ -56,6 +56,9 @@
<cd:interfacefile filename="i-combination.xml"/>
<cd:interfacefile filename="i-commandhandler.xml"/>
<cd:interfacefile filename="i-comment.xml"/>
+ <!--
+ <cd:interfacefile filename="i-contextname.xml"/>
+ -->
<cd:interfacefile filename="i-conversion.xml"/>
<cd:interfacefile filename="i-counter.xml"/>
<cd:interfacefile filename="i-dataset.xml"/>
@@ -124,6 +127,7 @@
<cd:interfacefile filename="i-logo.xml"/>
<cd:interfacefile filename="i-lohi.xml"/>
<cd:interfacefile filename="i-lua.xml"/>
+ <cd:interfacefile filename="i-luatable.xml"/>
<cd:interfacefile filename="i-makeup.xml"/>
<cd:interfacefile filename="i-marginblock.xml"/>
<cd:interfacefile filename="i-margindata.xml"/>
@@ -134,6 +138,9 @@
<cd:interfacefile filename="i-mathcases.xml"/>
<cd:interfacefile filename="i-mathfence.xml"/>
<cd:interfacefile filename="i-mathmatrix.xml"/>
+ <!--
+ <cd:interfacefile filename="i-mathname.xml"/>
+ -->
<cd:interfacefile filename="i-mathornament.xml"/>
<cd:interfacefile filename="i-mathradical.xml"/>
<cd:interfacefile filename="i-mathstackers.xml"/>
@@ -215,6 +222,9 @@
<cd:interfacefile filename="i-table.xml"/>
<cd:interfacefile filename="i-tabulation.xml"/>
<cd:interfacefile filename="i-tagging.xml"/>
+ <!--
+ <cd:interfacefile filename="i-tex.xml"/>
+ -->
<cd:interfacefile filename="i-textbackground.xml"/>
<cd:interfacefile filename="i-textflow.xml"/>
<cd:interfacefile filename="i-textrule.xml"/>
diff --git a/tex/context/interface/mkiv/i-contextname.xml b/tex/context/interface/mkiv/i-contextname.xml
index 3e289f3f5..c1b7d85cb 100644
--- a/tex/context/interface/mkiv/i-contextname.xml
+++ b/tex/context/interface/mkiv/i-contextname.xml
@@ -2350,4 +2350,4 @@
<cd:command name="zerowidthnobreakspace" level="document" category="characters" file="char-def.lua"/>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-conversion.xml b/tex/context/interface/mkiv/i-conversion.xml
index 80db79cad..4c8c9683e 100644
--- a/tex/context/interface/mkiv/i-conversion.xml
+++ b/tex/context/interface/mkiv/i-conversion.xml
@@ -214,25 +214,25 @@
</cd:arguments>
</cd:command>
- <cd:command name="monthlong" level="style" category="counter" file="core-con.mkiv">
+ <cd:command name="month" level="style" category="counter" file="core-con.mkiv">
<cd:arguments>
<cd:resolve name="argument-number"/>
</cd:arguments>
</cd:command>
- <cd:command name="monthshort" level="style" category="counter" file="core-con.mkiv">
+ <cd:command name="monthlong" level="style" category="counter" file="core-con.mkiv">
<cd:arguments>
<cd:resolve name="argument-number"/>
</cd:arguments>
</cd:command>
- <cd:command name="convertmonth" level="style" category="counter" file="core-con.mkiv">
+ <cd:command name="monthshort" level="style" category="counter" file="core-con.mkiv">
<cd:arguments>
<cd:resolve name="argument-number"/>
</cd:arguments>
</cd:command>
- <cd:command name="month" level="style" category="counter" file="core-con.mkiv">
+ <cd:command name="convertmonth" level="style" category="counter" file="core-con.mkiv">
<cd:arguments>
<cd:resolve name="argument-number"/>
</cd:arguments>
@@ -268,6 +268,30 @@
</cd:arguments>
</cd:command>
+ <cd:command name="daylong" level="style" category="counter" file="core-con.mkiv">
+ <cd:arguments>
+ <cd:resolve name="argument-number"/>
+ </cd:arguments>
+ </cd:command>
+
+ <cd:command name="dayshort" level="style" category="counter" file="core-con.mkiv">
+ <cd:arguments>
+ <cd:resolve name="argument-number"/>
+ </cd:arguments>
+ </cd:command>
+
+ <cd:command name="DAYLONG" level="style" category="counter" file="core-con.mkiv">
+ <cd:arguments>
+ <cd:resolve name="argument-number"/>
+ </cd:arguments>
+ </cd:command>
+
+ <cd:command name="DAYSHORT" level="style" category="counter" file="core-con.mkiv">
+ <cd:arguments>
+ <cd:resolve name="argument-number"/>
+ </cd:arguments>
+ </cd:command>
+
<cd:command name="dayoftheweek" level="style" category="counter" file="core-con.mkiv">
<cd:arguments>
<cd:resolve name="argument-number"/>
@@ -318,40 +342,52 @@
<cd:arguments>
<cd:keywords list="yes" optional="yes">
<cd:constant type="year"/>
- <cd:constant type="month"/>
- <cd:constant type="day"/>
- <cd:constant type="weekday"/>
<cd:constant type="y"/>
<cd:constant type="yy"/>
<cd:constant type="Y"/>
+ <cd:constant type="YY"/>
+ <cd:constant type="month"/>
+ <cd:constant type="month:mnem"/>
+ <cd:constant type="month:jalali"/>
<cd:constant type="m"/>
+ <cd:constant type="m:mnem"/>
+ <cd:constant type="m:jalali"/>
+ <cd:constant type="MONTH"/>
+ <cd:constant type="MONTH:mnem"/>
+ <cd:constant type="MONTH:jalali"/>
<cd:constant type="mm"/>
<cd:constant type="M"/>
- <cd:constant type="d"/>
- <cd:constant type="dd"/>
- <cd:constant type="D"/>
- <cd:constant type="w"/>
- <cd:constant type="W"/>
- <cd:constant type="space"/>
- <cd:constant type="\␣"/>
- <cd:constant type="month:mnem"/>
- <cd:constant type="m:mnem"/>
- <cd:constant type="d:ord"/>
- <cd:constant type="day:ord"/>
- <cd:constant type="dd:ord"/>
- <cd:constant type="D:ord"/>
- <cd:constant type="cd:text"/>
- <cd:constant type="referral"/>
+ <cd:constant type="day"/>
<cd:constant type="day:+"/>
+ <cd:constant type="day:ord"/>
<cd:constant type="day:++"/>
+ <cd:constant type="day:highord"/>
+ <cd:constant type="d"/>
<cd:constant type="d:+"/>
+ <cd:constant type="d:ord"/>
<cd:constant type="d:++"/>
+ <cd:constant type="d:highord"/>
+ <cd:constant type="dd"/>
<cd:constant type="dd:+"/>
+ <cd:constant type="dd:ord"/>
<cd:constant type="dd:++"/>
+ <cd:constant type="dd:highord"/>
+ <cd:constant type="D"/>
<cd:constant type="D:+"/>
+ <cd:constant type="D:ord"/>
<cd:constant type="D:++"/>
- <cd:constant type="month:jalali"/>
- <cd:constant type="m:jalali"/>
+ <cd:constant type="D:highord"/>
+ <cd:constant type="weekday"/>
+ <cd:constant type="weekday:mnem"/>
+ <cd:constant type="w"/>
+ <cd:constant type="w:mnem"/>
+ <cd:constant type="WEEKDAY"/>
+ <cd:constant type="WEEKDAY:mnem"/>
+ <cd:constant type="W"/>
+ <cd:constant type="referral"/>
+ <cd:constant type="space"/>
+ <cd:constant type="\␣"/>
+ <cd:constant type="cd:text"/>
<cd:constant type="jalali:to"/>
<cd:constant type="jalali:from"/>
</cd:keywords>
@@ -496,6 +532,8 @@
<cd:constant type="slovenianNumerals"/>
<cd:constant type="spanishnumerals"/>
<cd:constant type="spanishNumerals"/>
+ <cd:constant type="russiannumerals"/>
+ <cd:constant type="russianNumerals"/>
<cd:constant type="mathgreek"/>
<cd:constant type="set␣0"/>
<cd:constant type="set␣1"/>
@@ -631,6 +669,18 @@
</cd:arguments>
</cd:command>
+ <cd:command name="russiannumerals" level="style" category="counter language" file="core-con.mkiv">
+ <cd:arguments>
+ <cd:resolve name="argument-number"/>
+ </cd:arguments>
+ </cd:command>
+
+ <cd:command name="russianNumerals" level="style" category="counter language" file="core-con.mkiv">
+ <cd:arguments>
+ <cd:resolve name="argument-number"/>
+ </cd:arguments>
+ </cd:command>
+
<cd:command name="unihex" level="style" category="counter" file="core-con.mkiv">
<cd:arguments>
<cd:resolve name="argument-number"/>
@@ -649,10 +699,58 @@
</cd:arguments>
</cd:command>
- <cd:command name="actualyear" level="style" category="system" file="core-con.mkiv"/>
+ <cd:command name="actualyear" level="style" category="system" file="core-con.lua"/>
- <cd:command name="actualmonth" level="style" category="system" file="core-con.mkiv"/>
+ <cd:command name="actualmonth" level="style" category="system" file="core-con.lua"/>
+
+ <cd:command name="actualday" level="style" category="system" file="core-con.lua"/>
+
+ <cd:command name="lchexnumber" level="style" category="counter" file="syst-con.mkxl">
+ <cd:arguments>
+ <cd:resolve name="argument-number"/>
+ </cd:arguments>
+ </cd:command>
+
+ <cd:command name="uchexnumber" level="style" category="counter" file="syst-con.mkxl">
+ <cd:arguments>
+ <cd:resolve name="argument-number"/>
+ </cd:arguments>
+ </cd:command>
- <cd:command name="actualday" level="style" category="system" file="core-con.mkiv"/>
+ <cd:command name="lchexnumbers" level="style" category="counter" file="syst-con.mkxl">
+ <cd:arguments>
+ <cd:resolve name="argument-number"/>
+ </cd:arguments>
+ </cd:command>
+
+ <cd:command name="uchexnumbers" level="style" category="counter" file="syst-con.mkxl">
+ <cd:arguments>
+ <cd:resolve name="argument-number"/>
+ </cd:arguments>
+ </cd:command>
+
+ <cd:command name="hexnumber" level="style" category="counter" file="syst-con.mkxl">
+ <cd:arguments>
+ <cd:resolve name="argument-number"/>
+ </cd:arguments>
+ </cd:command>
+
+ <cd:command name="octnumber" level="style" category="counter" file="syst-con.mkxl">
+ <cd:arguments>
+ <cd:resolve name="argument-number"/>
+ </cd:arguments>
+ </cd:command>
+
+ <cd:command name="hexstringtonumber" level="style" category="counter" file="syst-con.mkxl">
+ <cd:arguments>
+ <cd:resolve name="argument-number"/>
+ </cd:arguments>
+ </cd:command>
+
+ <cd:command name="octstringtonumber" level="style" category="counter" file="syst-con.mkxl">
+ <cd:arguments>
+ <cd:resolve name="argument-number"/>
+ </cd:arguments>
+ </cd:command>
</cd:interface>
diff --git a/tex/context/interface/mkiv/i-counter.xml b/tex/context/interface/mkiv/i-counter.xml
index ec841a597..bba8004f0 100644
--- a/tex/context/interface/mkiv/i-counter.xml
+++ b/tex/context/interface/mkiv/i-counter.xml
@@ -514,4 +514,4 @@
-->
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-database.xml b/tex/context/interface/mkiv/i-database.xml
index a81cd75f8..24ae7ac1e 100644
--- a/tex/context/interface/mkiv/i-database.xml
+++ b/tex/context/interface/mkiv/i-database.xml
@@ -115,4 +115,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-dataset.xml b/tex/context/interface/mkiv/i-dataset.xml
index c006454d3..afb8f8fa3 100644
--- a/tex/context/interface/mkiv/i-dataset.xml
+++ b/tex/context/interface/mkiv/i-dataset.xml
@@ -48,4 +48,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-define.xml b/tex/context/interface/mkiv/i-define.xml
index 91975e752..f37645cf1 100644
--- a/tex/context/interface/mkiv/i-define.xml
+++ b/tex/context/interface/mkiv/i-define.xml
@@ -20,4 +20,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-digits.xml b/tex/context/interface/mkiv/i-digits.xml
index c917bf0d4..f962ac734 100644
--- a/tex/context/interface/mkiv/i-digits.xml
+++ b/tex/context/interface/mkiv/i-digits.xml
@@ -23,4 +23,4 @@
<cd:command name="dummydigit" level="document" file="typo-dig.mkiv"/>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-dimension.xml b/tex/context/interface/mkiv/i-dimension.xml
index 1980687ab..bb7c3bfa7 100644
--- a/tex/context/interface/mkiv/i-dimension.xml
+++ b/tex/context/interface/mkiv/i-dimension.xml
@@ -64,4 +64,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-direction.xml b/tex/context/interface/mkiv/i-direction.xml
index 87e64e457..a29314549 100644
--- a/tex/context/interface/mkiv/i-direction.xml
+++ b/tex/context/interface/mkiv/i-direction.xml
@@ -52,4 +52,4 @@
<cd:command name="showdirsinmargin" level="document" category="alignment" file="supp-dir.mkiv"/>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-document.xml b/tex/context/interface/mkiv/i-document.xml
index 178f7e9fe..5886aa8eb 100644
--- a/tex/context/interface/mkiv/i-document.xml
+++ b/tex/context/interface/mkiv/i-document.xml
@@ -248,4 +248,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-dummy.xml b/tex/context/interface/mkiv/i-dummy.xml
index 47d005e20..dfb3bcf5b 100644
--- a/tex/context/interface/mkiv/i-dummy.xml
+++ b/tex/context/interface/mkiv/i-dummy.xml
@@ -55,4 +55,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-enumeration.xml b/tex/context/interface/mkiv/i-enumeration.xml
index 0f286b8b5..ab10e0bf1 100644
--- a/tex/context/interface/mkiv/i-enumeration.xml
+++ b/tex/context/interface/mkiv/i-enumeration.xml
@@ -226,4 +226,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-export.xml b/tex/context/interface/mkiv/i-export.xml
index 3c3afff2b..07156c95b 100644
--- a/tex/context/interface/mkiv/i-export.xml
+++ b/tex/context/interface/mkiv/i-export.xml
@@ -74,4 +74,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-field.xml b/tex/context/interface/mkiv/i-field.xml
index 7a67786f9..04f947144 100644
--- a/tex/context/interface/mkiv/i-field.xml
+++ b/tex/context/interface/mkiv/i-field.xml
@@ -380,4 +380,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-file.xml b/tex/context/interface/mkiv/i-file.xml
index bf12e5825..df649e8e0 100644
--- a/tex/context/interface/mkiv/i-file.xml
+++ b/tex/context/interface/mkiv/i-file.xml
@@ -407,4 +407,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-fillinline.xml b/tex/context/interface/mkiv/i-fillinline.xml
index eb2f9d6ae..614a9bc99 100644
--- a/tex/context/interface/mkiv/i-fillinline.xml
+++ b/tex/context/interface/mkiv/i-fillinline.xml
@@ -40,4 +40,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-fillinrule.xml b/tex/context/interface/mkiv/i-fillinrule.xml
index d73b70ff9..9802b4fbb 100644
--- a/tex/context/interface/mkiv/i-fillinrule.xml
+++ b/tex/context/interface/mkiv/i-fillinrule.xml
@@ -63,4 +63,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-firstline.xml b/tex/context/interface/mkiv/i-firstline.xml
index b22035651..074326769 100644
--- a/tex/context/interface/mkiv/i-firstline.xml
+++ b/tex/context/interface/mkiv/i-firstline.xml
@@ -49,4 +49,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-fittingpage.xml b/tex/context/interface/mkiv/i-fittingpage.xml
index f5daafcf1..309e6c542 100644
--- a/tex/context/interface/mkiv/i-fittingpage.xml
+++ b/tex/context/interface/mkiv/i-fittingpage.xml
@@ -100,4 +100,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-floats.xml b/tex/context/interface/mkiv/i-floats.xml
index b37953746..afb945e3e 100644
--- a/tex/context/interface/mkiv/i-floats.xml
+++ b/tex/context/interface/mkiv/i-floats.xml
@@ -521,6 +521,30 @@
</cd:arguments>
</cd:command>
+ <cd:command name="placefloatcaption" level="style" category="structure fonts counter" file="strc-flt.mkvi">
+ <cd:arguments>
+ <cd:resolve name="keyword-name"/>
+ <cd:assignments list="yes" optional="yes">
+ <cd:parameter name="title">
+ <cd:constant type="cd:text"/>
+ </cd:parameter>
+ <cd:parameter name="bookmark">
+ <cd:constant type="cd:text"/>
+ </cd:parameter>
+ <cd:parameter name="marking">
+ <cd:constant type="cd:text"/>
+ </cd:parameter>
+ <cd:parameter name="list">
+ <cd:constant type="cd:text"/>
+ </cd:parameter>
+ <cd:parameter name="reference">
+ <cd:constant type="cd:reference"/>
+ </cd:parameter>
+ </cd:assignments>
+ <cd:resolve name="assignment-userdata-list-optional"/>
+ </cd:arguments>
+ </cd:command>
+
<!--
<cd:command name="definefloatframed" level="style" category="structure background" file="strc-flt.mkvi">
@@ -1000,6 +1024,11 @@
<cd:parameter name="color">
<cd:constant type="cd:color"/>
</cd:parameter>
+ <cd:parameter name="width">
+ <cd:constant type="fit" default="yes"/>
+ <cd:constant type="frame"/>
+ <cd:constant type="cd:dimension"/>
+ </cd:parameter>
<cd:inherit name="setupframed"/>
</cd:assignments>
</cd:arguments>
diff --git a/tex/context/interface/mkiv/i-fontfamily.xml b/tex/context/interface/mkiv/i-fontfamily.xml
index e20346319..e5683d21a 100644
--- a/tex/context/interface/mkiv/i-fontfamily.xml
+++ b/tex/context/interface/mkiv/i-fontfamily.xml
@@ -222,4 +222,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-fonts.xml b/tex/context/interface/mkiv/i-fonts.xml
index a6d826c41..08a8974a9 100644
--- a/tex/context/interface/mkiv/i-fonts.xml
+++ b/tex/context/interface/mkiv/i-fonts.xml
@@ -292,7 +292,11 @@
<cd:constant type="yes" default="yes"/>
<cd:constant type="no"/>
</cd:parameter>
- <cd:parameter name="cd:name">
+ <cd:parameter name="uppercasing">
+ <cd:constant type="yes"/>
+ <cd:constant type="no" default="yes"/>
+ </cd:parameter>
+ <cd:parameter name="lowercasing">
<cd:constant type="yes"/>
<cd:constant type="no" default="yes"/>
</cd:parameter>
@@ -303,6 +307,13 @@
<cd:constant type="yes"/>
<cd:constant type="no" default="yes"/>
</cd:parameter>
+ <cd:parameter name="metapost">
+ <cd:constant type="cd:name"/>
+ </cd:parameter>
+ <cd:parameter name="cd:name">
+ <cd:constant type="yes"/>
+ <cd:constant type="no" default="yes"/>
+ </cd:parameter>
</cd:assignments>
</cd:arguments>
</cd:command>
@@ -1116,6 +1127,12 @@
<cd:command name="setsuperiors" level="style" category="fonts" file="font-pre.mkiv"/>
+ <cd:command name="setfractions" level="style" category="fonts" file="font-pre.mkiv"/>
+
+ <cd:command name="uppercasing" level="style" category="fonts" file="font-pre.mkiv"/>
+
+ <cd:command name="lowercasing" level="style" category="fonts" file="font-pre.mkiv"/>
+
<cd:command name="tinyfont" level="style" category="fonts" file="font-pre.mkiv"/>
<cd:command name="infofont" level="style" category="fonts" file="font-pre.mkiv"/>
@@ -1753,4 +1770,37 @@
</cd:arguments>
</cd:command>
+ <cd:command name="defineexpansion" level="style" category="fonts" file="hand-ini.mkx">
+ <cd:arguments>
+ <cd:resolve name="keyword-name"/>
+ <cd:resolve name="keyword-name-optional"/>
+ <cd:assignments list="yes" optional="yes">
+ <cd:inherit name="setupexpansion"/>
+ </cd:assignments>
+ </cd:arguments>
+ </cd:command>
+
+ <cd:command name="setupexpansion" level="style" category="fonts" file="hand-ini.mkx">
+ <cd:arguments>
+ <cd:resolve name="keyword-name-list-optional"/>
+ <cd:assignments list="yes">
+ <cd:parameter name="step">
+ <cd:constant type="cd:number"/>
+ </cd:parameter>
+ <cd:parameter name="stretch">
+ <cd:constant type="cd:number"/>
+ </cd:parameter>
+ <cd:parameter name="shrink">
+ <cd:constant type="cd:number"/>
+ </cd:parameter>
+ </cd:assignments>
+ </cd:arguments>
+ </cd:command>
+
+ <cd:command name="setexpansion" level="style" category="fonts" file="font-ini.mkvi">
+ <cd:arguments>
+ <cd:resolve name="keyword-name"/>
+ </cd:arguments>
+ </cd:command>
+
</cd:interface>
diff --git a/tex/context/interface/mkiv/i-form.xml b/tex/context/interface/mkiv/i-form.xml
index fcb4979d0..fac867412 100644
--- a/tex/context/interface/mkiv/i-form.xml
+++ b/tex/context/interface/mkiv/i-form.xml
@@ -20,4 +20,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-fraction.xml b/tex/context/interface/mkiv/i-fraction.xml
index 33252dde2..a2146bc8d 100644
--- a/tex/context/interface/mkiv/i-fraction.xml
+++ b/tex/context/interface/mkiv/i-fraction.xml
@@ -202,4 +202,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-framed.xml b/tex/context/interface/mkiv/i-framed.xml
index e76e29368..c3b9a0419 100644
--- a/tex/context/interface/mkiv/i-framed.xml
+++ b/tex/context/interface/mkiv/i-framed.xml
@@ -653,4 +653,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-framedtable.xml b/tex/context/interface/mkiv/i-framedtable.xml
index 51699b5bc..db985b3b9 100644
--- a/tex/context/interface/mkiv/i-framedtable.xml
+++ b/tex/context/interface/mkiv/i-framedtable.xml
@@ -83,4 +83,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-graphics.xml b/tex/context/interface/mkiv/i-graphics.xml
index 7bd3fb9bc..222d7e93f 100644
--- a/tex/context/interface/mkiv/i-graphics.xml
+++ b/tex/context/interface/mkiv/i-graphics.xml
@@ -85,6 +85,11 @@
<cd:parameter name="color">
<cd:constant type="cd:color"/>
</cd:parameter>
+ <cd:parameter name="cmyk">
+ <cd:constant type="yes"/>
+ <cd:constant type="no" default="yes"/>
+ <cd:constant type="auto"/>
+ </cd:parameter>
<cd:parameter name="arguments">
<cd:constant type="cd:text"/>
</cd:parameter>
@@ -250,18 +255,14 @@
</cd:arguments>
</cd:command>
- <!--
-
- <cd:command name="setupexternalfigures" level="style" category="graphics" file="grph-inc.mkvi">
- <cd:arguments>
- <cd:resolve name="keyword-name-list-optional"/>
- <cd:assignments list="yes">
- <cd:inherit name="setupexternalfigure"/>
- </cd:assignments>
- </cd:arguments>
- </cd:command>
-
- -->
+ <cd:command name="setupexternalfigures" level="style" category="graphics" file="grph-inc.mkvi">
+ <cd:arguments>
+ <cd:resolve name="keyword-name-list-optional"/>
+ <cd:assignments list="yes">
+ <cd:inherit name="setupexternalfigure"/>
+ </cd:assignments>
+ </cd:arguments>
+ </cd:command>
<cd:command name="useexternalfigure" level="style" category="graphics" file="grph-inc.mkiv">
<cd:arguments>
@@ -555,4 +556,26 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+ <cd:command name="includesvgfile" level="document" category="graphics" file="grph-inc.mkiv">
+ <cd:arguments>
+ <cd:resolve name="keyword-file"/>
+ <cd:assignments list="yes" optional="yes">
+ <cd:parameter name="offset">
+ <cd:constant type="cd:dimension"/>
+ </cd:parameter>
+ </cd:assignments>
+ </cd:arguments>
+ </cd:command>
+
+ <cd:command name="includesvgbuffer" level="document" category="graphics" file="grph-inc.mkiv">
+ <cd:arguments>
+ <cd:resolve name="keyword-buffer"/>
+ <cd:assignments list="yes" optional="yes">
+ <cd:parameter name="offset">
+ <cd:constant type="cd:dimension"/>
+ </cd:parameter>
+ </cd:assignments>
+ </cd:arguments>
+ </cd:command>
+
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-help.xml b/tex/context/interface/mkiv/i-help.xml
index 6e8612c5a..f1cd9907f 100644
--- a/tex/context/interface/mkiv/i-help.xml
+++ b/tex/context/interface/mkiv/i-help.xml
@@ -86,4 +86,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-hemistich.xml b/tex/context/interface/mkiv/i-hemistich.xml
index a508c51f8..9337315cd 100644
--- a/tex/context/interface/mkiv/i-hemistich.xml
+++ b/tex/context/interface/mkiv/i-hemistich.xml
@@ -89,4 +89,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-highlight.xml b/tex/context/interface/mkiv/i-highlight.xml
index 9da39818e..35e954148 100644
--- a/tex/context/interface/mkiv/i-highlight.xml
+++ b/tex/context/interface/mkiv/i-highlight.xml
@@ -61,4 +61,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-hspace.xml b/tex/context/interface/mkiv/i-hspace.xml
index 31c215864..d807fbb57 100644
--- a/tex/context/interface/mkiv/i-hspace.xml
+++ b/tex/context/interface/mkiv/i-hspace.xml
@@ -167,4 +167,26 @@
</cd:arguments>
</cd:command>
+ <cd:command name="interwordspacebefore" level="system" category="whitespace" file="spac/hor.mkiv"/>
+
+ <cd:command name="interwordspaceafter" level="system" category="whitespace" file="spac/hor.mkiv"/>
+
+ <cd:command name="interwordspacesbefore" level="system" category="whitespace" file="spac/hor.mkiv">
+ <cd:arguments>
+ <cd:resolve name="argument-number"/>
+ </cd:arguments>
+ </cd:command>
+
+ <cd:command name="interwordspacesafter" level="system" category="whitespace" file="spac/hor.mkiv">
+ <cd:arguments>
+ <cd:resolve name="argument-number"/>
+ </cd:arguments>
+ </cd:command>
+
+ <cd:command name="interwordspaces" level="system" category="whitespace" file="spac/hor.mkiv">
+ <cd:arguments>
+ <cd:resolve name="argument-number"/>
+ </cd:arguments>
+ </cd:command>
+
</cd:interface>
diff --git a/tex/context/interface/mkiv/i-hyphenation.xml b/tex/context/interface/mkiv/i-hyphenation.xml
index 75cdbae75..4ab4fe1d8 100644
--- a/tex/context/interface/mkiv/i-hyphenation.xml
+++ b/tex/context/interface/mkiv/i-hyphenation.xml
@@ -34,7 +34,7 @@
</cd:arguments>
</cd:command>
- <cd:command name="definehypenationfeatures" level="style" category="language" file="lang-hyp.mkiv">
+ <cd:command name="definehyphenationfeatures" level="style" category="language" file="lang-hyp.mkiv">
<cd:arguments>
<cd:resolve name="keyword-name"/>
<cd:assignments list="yes">
@@ -261,4 +261,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-imposition.xml b/tex/context/interface/mkiv/i-imposition.xml
index 68ba5893d..ad05424ce 100644
--- a/tex/context/interface/mkiv/i-imposition.xml
+++ b/tex/context/interface/mkiv/i-imposition.xml
@@ -79,4 +79,4 @@
<cd:command name="arrangedpages" type="environment" begin="push" end="pop" level="system" category="layout" file="page-imp.mkiv"/>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-indentedtext.xml b/tex/context/interface/mkiv/i-indentedtext.xml
index 8d19c321f..4921115a5 100644
--- a/tex/context/interface/mkiv/i-indentedtext.xml
+++ b/tex/context/interface/mkiv/i-indentedtext.xml
@@ -69,4 +69,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-injector.xml b/tex/context/interface/mkiv/i-injector.xml
index 3728d7bb8..2ba2a5da2 100644
--- a/tex/context/interface/mkiv/i-injector.xml
+++ b/tex/context/interface/mkiv/i-injector.xml
@@ -70,4 +70,4 @@
-->
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-insertion.xml b/tex/context/interface/mkiv/i-insertion.xml
index c8c4ed721..8bb52616b 100644
--- a/tex/context/interface/mkiv/i-insertion.xml
+++ b/tex/context/interface/mkiv/i-insertion.xml
@@ -45,4 +45,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-interaction.xml b/tex/context/interface/mkiv/i-interaction.xml
index 2496e5d94..36c0c3572 100644
--- a/tex/context/interface/mkiv/i-interaction.xml
+++ b/tex/context/interface/mkiv/i-interaction.xml
@@ -157,4 +157,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-interactionbar.xml b/tex/context/interface/mkiv/i-interactionbar.xml
index e03d2a071..8981c6e2b 100644
--- a/tex/context/interface/mkiv/i-interactionbar.xml
+++ b/tex/context/interface/mkiv/i-interactionbar.xml
@@ -97,4 +97,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-interactionmenu.xml b/tex/context/interface/mkiv/i-interactionmenu.xml
index 32fac36f9..26b7eabe8 100644
--- a/tex/context/interface/mkiv/i-interactionmenu.xml
+++ b/tex/context/interface/mkiv/i-interactionmenu.xml
@@ -277,4 +277,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-interface.xml b/tex/context/interface/mkiv/i-interface.xml
index 66b48535e..08c273812 100644
--- a/tex/context/interface/mkiv/i-interface.xml
+++ b/tex/context/interface/mkiv/i-interface.xml
@@ -199,4 +199,4 @@
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-interlinespace.xml b/tex/context/interface/mkiv/i-interlinespace.xml
index 94911afb9..e0fbe0dca 100644
--- a/tex/context/interface/mkiv/i-interlinespace.xml
+++ b/tex/context/interface/mkiv/i-interlinespace.xml
@@ -173,4 +173,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-ipsum.xml b/tex/context/interface/mkiv/i-ipsum.xml
index b3fb7cfdd..3cb4a5350 100644
--- a/tex/context/interface/mkiv/i-ipsum.xml
+++ b/tex/context/interface/mkiv/i-ipsum.xml
@@ -78,4 +78,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-italiccorrection.xml b/tex/context/interface/mkiv/i-italiccorrection.xml
index 2d406bdf5..4522634fc 100644
--- a/tex/context/interface/mkiv/i-italiccorrection.xml
+++ b/tex/context/interface/mkiv/i-italiccorrection.xml
@@ -29,4 +29,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-items.xml b/tex/context/interface/mkiv/i-items.xml
index ab50b669d..6ff396bed 100644
--- a/tex/context/interface/mkiv/i-items.xml
+++ b/tex/context/interface/mkiv/i-items.xml
@@ -82,4 +82,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-javascript.xml b/tex/context/interface/mkiv/i-javascript.xml
index e97c5109c..1c3f11f63 100644
--- a/tex/context/interface/mkiv/i-javascript.xml
+++ b/tex/context/interface/mkiv/i-javascript.xml
@@ -48,4 +48,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-kerning.xml b/tex/context/interface/mkiv/i-kerning.xml
index 64a2513b9..a467a11f5 100644
--- a/tex/context/interface/mkiv/i-kerning.xml
+++ b/tex/context/interface/mkiv/i-kerning.xml
@@ -122,4 +122,4 @@
<cd:command name="resetperiodkerning" level="style" catgeory="fonts whitespace" file="typo-pnc.mkic"/>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-label.xml b/tex/context/interface/mkiv/i-label.xml
index a1d36ef43..9faf850a5 100644
--- a/tex/context/interface/mkiv/i-label.xml
+++ b/tex/context/interface/mkiv/i-label.xml
@@ -221,4 +221,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-labeltext.xml b/tex/context/interface/mkiv/i-labeltext.xml
index 7ad6b6ba8..47bdd23af 100644
--- a/tex/context/interface/mkiv/i-labeltext.xml
+++ b/tex/context/interface/mkiv/i-labeltext.xml
@@ -520,4 +520,4 @@
-->
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-layer.xml b/tex/context/interface/mkiv/i-layer.xml
index 77aaf7d52..a851b64bd 100644
--- a/tex/context/interface/mkiv/i-layer.xml
+++ b/tex/context/interface/mkiv/i-layer.xml
@@ -324,4 +324,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-layout.xml b/tex/context/interface/mkiv/i-layout.xml
index ff5a0e57b..2f918bf0d 100644
--- a/tex/context/interface/mkiv/i-layout.xml
+++ b/tex/context/interface/mkiv/i-layout.xml
@@ -387,4 +387,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-linenumber.xml b/tex/context/interface/mkiv/i-linenumber.xml
index 3dc562e68..4aa68c319 100644
--- a/tex/context/interface/mkiv/i-linenumber.xml
+++ b/tex/context/interface/mkiv/i-linenumber.xml
@@ -169,4 +169,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-lines.xml b/tex/context/interface/mkiv/i-lines.xml
index 500786276..dcaca281e 100644
--- a/tex/context/interface/mkiv/i-lines.xml
+++ b/tex/context/interface/mkiv/i-lines.xml
@@ -120,4 +120,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-linetable.xml b/tex/context/interface/mkiv/i-linetable.xml
index a515f40fd..756b20d5d 100644
--- a/tex/context/interface/mkiv/i-linetable.xml
+++ b/tex/context/interface/mkiv/i-linetable.xml
@@ -162,4 +162,4 @@
-->
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-linewidth.xml b/tex/context/interface/mkiv/i-linewidth.xml
index 6d9043a1f..e276572af 100644
--- a/tex/context/interface/mkiv/i-linewidth.xml
+++ b/tex/context/interface/mkiv/i-linewidth.xml
@@ -17,4 +17,4 @@
<cd:command name="linewidth" level="style" category="layout" file="pack-rul.mkiv"/>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-list.xml b/tex/context/interface/mkiv/i-list.xml
index a3ae22676..ac20aefff 100644
--- a/tex/context/interface/mkiv/i-list.xml
+++ b/tex/context/interface/mkiv/i-list.xml
@@ -101,10 +101,11 @@
<cd:parameter name="pagecommand">
<cd:constant type="cd:oneargument"/>
</cd:parameter>
- <cd:parameter name="pagenumber">
+ <cd:parameter name="pagenumber" list="yes">
<cd:constant type="yes" default="yes"/>
<cd:constant type="no"/>
<cd:constant type="always"/>
+ <cd:constant type="realpage"/>
</cd:parameter>
<cd:parameter name="headnumber">
<cd:constant type="yes" default="yes"/>
@@ -680,4 +681,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-logo.xml b/tex/context/interface/mkiv/i-logo.xml
index 3208555e0..d345d76c8 100644
--- a/tex/context/interface/mkiv/i-logo.xml
+++ b/tex/context/interface/mkiv/i-logo.xml
@@ -7,6 +7,11 @@
<cd:command name="TeX" level="document" category="symbols" file="cont-log.mkiv"/>
<cd:command name="TEX" level="document" category="symbols" file="cont-log.mkiv"/>
+ <!--
+ <cd:command name="TeXprefix" level="document" category="symbols" file="cont-log.mkiv"/>
+ <cd:command name="TeXsuffix" level="document" category="symbols" file="cont-log.mkiv"/>
+ -->
+
<cd:command name="Context" level="document" category="symbols" file="cont-log.mkiv"/>
<cd:command name="ConTeXt" level="document" category="symbols" file="cont-log.mkiv"/>
<cd:command name="CONTEXT" level="document" category="symbols" file="cont-log.mkiv"/>
@@ -23,12 +28,16 @@
<cd:command name="MKII" level="document" category="symbols" file="cont-log.mkiv"/>
<cd:command name="MKIV" level="document" category="symbols" file="cont-log.mkiv"/>
<cd:command name="MKVI" level="document" category="symbols" file="cont-log.mkiv"/>
+ <cd:command name="MKXL" level="document" category="symbols" file="cont-log.mkiv"/>
+ <cd:command name="MKLX" level="document" category="symbols" file="cont-log.mkiv"/>
<cd:command name="MKIX" level="document" category="symbols" file="cont-log.mkiv"/>
<cd:command name="MKXI" level="document" category="symbols" file="cont-log.mkiv"/>
<cd:command name="MPII" level="document" category="symbols" file="cont-log.mkiv"/>
<cd:command name="MPIV" level="document" category="symbols" file="cont-log.mkiv"/>
<cd:command name="MPVI" level="document" category="symbols" file="cont-log.mkiv"/>
+ <cd:command name="MPXL" level="document" category="symbols" file="cont-log.mkiv"/>
+ <cd:command name="MPLX" level="document" category="symbols" file="cont-log.mkiv"/>
<cd:command name="PPCHTeX" level="document" category="symbols" file="cont-log.mkiv"/>
<cd:command name="PPCHTEX" level="document" category="symbols" file="cont-log.mkiv"/>
diff --git a/tex/context/interface/mkiv/i-lohi.xml b/tex/context/interface/mkiv/i-lohi.xml
index c174a9f54..035c7b23b 100644
--- a/tex/context/interface/mkiv/i-lohi.xml
+++ b/tex/context/interface/mkiv/i-lohi.xml
@@ -226,4 +226,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-lua.xml b/tex/context/interface/mkiv/i-lua.xml
index c7f114251..94f25d0f7 100644
--- a/tex/context/interface/mkiv/i-lua.xml
+++ b/tex/context/interface/mkiv/i-lua.xml
@@ -190,4 +190,4 @@
</cd:sequence>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-luatable.xml b/tex/context/interface/mkiv/i-luatable.xml
new file mode 100644
index 000000000..a2eb74d82
--- /dev/null
+++ b/tex/context/interface/mkiv/i-luatable.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<?context-directive job ctxfile x-setups.ctx ?>
+
+<cd:interface xmlns:cd="http://www.pragma-ade.com/commands">
+
+ <cd:command name="newluatable" level="system" category="lua" file="cldf-int.mkxl">
+ <cd:arguments>
+ <cd:csname/>
+ </cd:arguments>
+ </cd:command>
+
+ <cd:command name="useluatable" level="system" category="lua" file="cldf-int.mkxl">
+ <cd:arguments>
+ <cd:csname/>
+ </cd:arguments>
+ </cd:command>
+
+ <cd:command name="disposeluatable" level="system" category="lua" file="cldf-lmt.lua">
+ <cd:arguments>
+ <cd:csname/>
+ </cd:arguments>
+ </cd:command>
+
+ <cd:command name="inspectluatable" level="system" category="lua" file="cldf-lmt.lua">
+ <cd:arguments>
+ <cd:csname/>
+ </cd:arguments>
+ </cd:command>
+
+ <cd:command name="showluatables" level="system" category="lua" file="cldf-lmt.lua"/>
+
+ <cd:command name="setluatable" level="system" category="lua" file="cldf-lmt.lua">
+ <cd:arguments>
+ <cd:csname/>
+ <cd:content/>
+ </cd:arguments>
+ </cd:command>
+
+ <cd:command name="getfromluatable" level="system" category="lua" file="cldf-lmt.lua">
+ <cd:arguments>
+ <cd:csname/>
+ <cd:keywords delimiters="braces">
+ <cd:constant type="cd:key"/>
+ <cd:constant type="cd:number"/>
+ </cd:keywords>
+ </cd:arguments>
+ </cd:command>
+
+ <cd:command name="idxfromluatable" level="system" category="lua" file="cldf-lmt.lua">
+ <cd:arguments>
+ <cd:csname/>
+ <cd:resolve name="string-number"/>
+ </cd:arguments>
+ </cd:command>
+
+ <cd:command name="setdatavalue" level="system" category="lua" file="cldf-int.mkxl">
+ <cd:arguments>
+ <cd:resolve name="argument-name"/>
+ <cd:resolve name="argument-number"/>
+ </cd:arguments>
+ </cd:command>
+
+ <cd:command name="getdatavalue" level="system" category="lua" file="cldf-int.mkxl">
+ <cd:arguments>
+ <cd:resolve name="argument-name"/>
+ </cd:arguments>
+ </cd:command>
+
+ <cd:command name="thedatavalue" level="system" category="lua" file="cldf-int.mkxl">
+ <cd:arguments>
+ <cd:resolve name="argument-name"/>
+ </cd:arguments>
+ </cd:command>
+
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-makeup.xml b/tex/context/interface/mkiv/i-makeup.xml
index dc2bd9ad4..fee025a9a 100644
--- a/tex/context/interface/mkiv/i-makeup.xml
+++ b/tex/context/interface/mkiv/i-makeup.xml
@@ -173,4 +173,4 @@
-->
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-marginblock.xml b/tex/context/interface/mkiv/i-marginblock.xml
index 0d0e3c2b4..fffa32113 100644
--- a/tex/context/interface/mkiv/i-marginblock.xml
+++ b/tex/context/interface/mkiv/i-marginblock.xml
@@ -84,4 +84,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-margindata.xml b/tex/context/interface/mkiv/i-margindata.xml
index a157aaf9c..cb97090b6 100644
--- a/tex/context/interface/mkiv/i-margindata.xml
+++ b/tex/context/interface/mkiv/i-margindata.xml
@@ -430,4 +430,4 @@
-->
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-marker.xml b/tex/context/interface/mkiv/i-marker.xml
index 2db8a9de1..8dc6ba978 100644
--- a/tex/context/interface/mkiv/i-marker.xml
+++ b/tex/context/interface/mkiv/i-marker.xml
@@ -30,4 +30,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-marking.xml b/tex/context/interface/mkiv/i-marking.xml
index 914922cf2..bd0d9b45b 100644
--- a/tex/context/interface/mkiv/i-marking.xml
+++ b/tex/context/interface/mkiv/i-marking.xml
@@ -88,6 +88,7 @@
<cd:keywords optional="yes">
<cd:constant type="page" default="yes"/>
<cd:constant type="cd:name"/>
+ <cd:constant type="cd:number"/>
</cd:keywords>
<cd:keywords optional="yes">
<cd:resolve name="value-markposition"/>
@@ -131,6 +132,7 @@
<cd:keywords>
<cd:constant type="page"/>
<cd:constant type="cd:name"/>
+ <cd:constant type="cd:number"/>
</cd:keywords>
<cd:keywords>
<cd:resolve name="value-markposition"/>
@@ -144,6 +146,7 @@
<cd:keywords>
<cd:constant type="page"/>
<cd:constant type="cd:name"/>
+ <cd:constant type="cd:number"/>
</cd:keywords>
<cd:keywords>
<cd:resolve name="value-markposition"/>
@@ -157,6 +160,7 @@
<cd:keywords>
<cd:constant type="page"/>
<cd:constant type="cd:name"/>
+ <cd:constant type="cd:number"/>
</cd:keywords>
</cd:arguments>
</cd:command>
@@ -167,8 +171,9 @@
<cd:keywords>
<cd:constant type="page"/>
<cd:constant type="cd:name"/>
+ <cd:constant type="cd:number"/>
</cd:keywords>
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-math.xml b/tex/context/interface/mkiv/i-math.xml
index 888d2bac5..1f2255cef 100644
--- a/tex/context/interface/mkiv/i-math.xml
+++ b/tex/context/interface/mkiv/i-math.xml
@@ -111,9 +111,9 @@
<cd:constant type="normal"/>
</cd:parameter>
<cd:parameter name="collapsing">
- <cd:constant type="1"/>
+ <cd:constant type="1" default="yes"/>
<cd:constant type="2"/>
- <cd:constant type="3" default="yes"/>
+ <cd:constant type="3"/>
<cd:constant type="none"/>
<cd:constant type="reset"/>
</cd:parameter>
@@ -567,4 +567,4 @@
<cd:command name="unstackscripts" level="document" category="mathematics" file="math-ini.mkiv"/>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-mathalignment.xml b/tex/context/interface/mkiv/i-mathalignment.xml
index 325b288c7..be1c86c5d 100644
--- a/tex/context/interface/mkiv/i-mathalignment.xml
+++ b/tex/context/interface/mkiv/i-mathalignment.xml
@@ -87,4 +87,4 @@
-->
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-mathcases.xml b/tex/context/interface/mkiv/i-mathcases.xml
index 837f2b782..76af5a4f8 100644
--- a/tex/context/interface/mkiv/i-mathcases.xml
+++ b/tex/context/interface/mkiv/i-mathcases.xml
@@ -75,4 +75,4 @@
-->
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-mathname.xml b/tex/context/interface/mkiv/i-mathname.xml
index 63dab0991..29b8ad32f 100644
--- a/tex/context/interface/mkiv/i-mathname.xml
+++ b/tex/context/interface/mkiv/i-mathname.xml
@@ -1088,4 +1088,4 @@
<cd:command name="varrho" level="document" category="character mathematics" file="char-def.lua"/>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-mathornament.xml b/tex/context/interface/mkiv/i-mathornament.xml
index 70100b8e4..11f630c65 100644
--- a/tex/context/interface/mkiv/i-mathornament.xml
+++ b/tex/context/interface/mkiv/i-mathornament.xml
@@ -43,4 +43,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-mathradical.xml b/tex/context/interface/mkiv/i-mathradical.xml
index a7ba93b75..9a29ad82b 100644
--- a/tex/context/interface/mkiv/i-mathradical.xml
+++ b/tex/context/interface/mkiv/i-mathradical.xml
@@ -53,4 +53,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-metapost.xml b/tex/context/interface/mkiv/i-metapost.xml
index 1c8fd2d0b..e2cc0d443 100644
--- a/tex/context/interface/mkiv/i-metapost.xml
+++ b/tex/context/interface/mkiv/i-metapost.xml
@@ -6,13 +6,13 @@
<cd:command name="MPdefinitions" type="environment" level="style" category="graphics metapost" file="meta-ini.mkiv">
<cd:arguments>
- <cd:resolve name="argument-name-optional"/>
+ <cd:resolve name="argument-instance-optional"/>
</cd:arguments>
</cd:command>
<cd:command name="MPextensions" type="environment" level="style" category="graphics metapost" file="meta-ini.mkiv">
<cd:arguments>
- <cd:resolve name="argument-name-list-optional"/>
+ <cd:resolve name="argument-instance-list-optional"/>
</cd:arguments>
</cd:command>
@@ -23,7 +23,7 @@
<cd:keywords optional="yes">
<cd:constant type="+"/>
</cd:keywords>
- <cd:resolve name="argument-name-optional"/>
+ <cd:resolve name="argument-instance-optional"/>
</cd:arguments>
</cd:command>
@@ -32,7 +32,7 @@
<cd:keywords optional="yes">
<cd:constant type="+"/>
</cd:keywords>
- <cd:resolve name="argument-name-optional"/>
+ <cd:resolve name="argument-instance-optional"/>
<cd:content/>
</cd:arguments>
</cd:command>
@@ -53,6 +53,7 @@
<cd:assignments list="yes">
<cd:parameter name="format">
<cd:constant type="metafun" default="yes"/>
+ <cd:constant type="minifun"/>
<cd:constant type="mpost"/>
</cd:parameter>
<cd:parameter name="initializations">
@@ -296,13 +297,13 @@
<cd:command name="MPcode" type="environment" level="document" category="graphics metapost" file="meta-ini.mkiv">
<cd:arguments>
- <cd:resolve name="argument-name-optional"/>
+ <cd:resolve name="argument-instance-optional"/>
</cd:arguments>
</cd:command>
<cd:command name="MPcode" level="document" category="graphics metapost" file="meta-ini.mkiv">
<cd:arguments>
- <cd:resolve name="argument-name-optional"/>
+ <cd:resolve name="argument-instance-optional"/>
<cd:content/>
</cd:arguments>
</cd:command>
@@ -403,4 +404,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-modes.xml b/tex/context/interface/mkiv/i-modes.xml
index 8b35da6f8..beee0b392 100644
--- a/tex/context/interface/mkiv/i-modes.xml
+++ b/tex/context/interface/mkiv/i-modes.xml
@@ -213,4 +213,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-modules.xml b/tex/context/interface/mkiv/i-modules.xml
index 03ed005e2..d3c846a16 100644
--- a/tex/context/interface/mkiv/i-modules.xml
+++ b/tex/context/interface/mkiv/i-modules.xml
@@ -123,4 +123,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-naturaltable.xml b/tex/context/interface/mkiv/i-naturaltable.xml
index d005810a0..9aca6a848 100644
--- a/tex/context/interface/mkiv/i-naturaltable.xml
+++ b/tex/context/interface/mkiv/i-naturaltable.xml
@@ -309,4 +309,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-note.xml b/tex/context/interface/mkiv/i-note.xml
index ee1ac5a31..44604fd22 100644
--- a/tex/context/interface/mkiv/i-note.xml
+++ b/tex/context/interface/mkiv/i-note.xml
@@ -636,6 +636,9 @@
<cd:parameter name="compressdistance">
<cd:constant type="cd:dimension"/>
</cd:parameter>
+ <cd:parameter name="compressstopper">
+ <cd:constant type="cd:command"/>
+ </cd:parameter>
<cd:inherit name="setupnote"/>
</cd:assignments>
</cd:arguments>
@@ -759,4 +762,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-object.xml b/tex/context/interface/mkiv/i-object.xml
index 2083c3572..ee692b396 100644
--- a/tex/context/interface/mkiv/i-object.xml
+++ b/tex/context/interface/mkiv/i-object.xml
@@ -129,4 +129,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-offset.xml b/tex/context/interface/mkiv/i-offset.xml
index 15a162b1a..ddc54736e 100644
--- a/tex/context/interface/mkiv/i-offset.xml
+++ b/tex/context/interface/mkiv/i-offset.xml
@@ -71,4 +71,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-opposite.xml b/tex/context/interface/mkiv/i-opposite.xml
index 3ed22559f..3f32f3c2b 100644
--- a/tex/context/interface/mkiv/i-opposite.xml
+++ b/tex/context/interface/mkiv/i-opposite.xml
@@ -26,4 +26,4 @@
<cd:command name="opposite" type="environment" level="document" category="layout" file="page-fac.mkiv"/>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-ornament.xml b/tex/context/interface/mkiv/i-ornament.xml
index 847fda4e6..8ee83a17e 100644
--- a/tex/context/interface/mkiv/i-ornament.xml
+++ b/tex/context/interface/mkiv/i-ornament.xml
@@ -100,4 +100,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-output.xml b/tex/context/interface/mkiv/i-output.xml
index 28b5b3799..c5b9f796d 100644
--- a/tex/context/interface/mkiv/i-output.xml
+++ b/tex/context/interface/mkiv/i-output.xml
@@ -46,4 +46,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-overlay.xml b/tex/context/interface/mkiv/i-overlay.xml
index 40d0bda93..da79925a4 100644
--- a/tex/context/interface/mkiv/i-overlay.xml
+++ b/tex/context/interface/mkiv/i-overlay.xml
@@ -42,4 +42,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-pagebreak.xml b/tex/context/interface/mkiv/i-pagebreak.xml
index 9972800ec..8858c41c4 100644
--- a/tex/context/interface/mkiv/i-pagebreak.xml
+++ b/tex/context/interface/mkiv/i-pagebreak.xml
@@ -132,4 +132,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-pagecomment.xml b/tex/context/interface/mkiv/i-pagecomment.xml
index 75b9056a8..8e72c42a9 100644
--- a/tex/context/interface/mkiv/i-pagecomment.xml
+++ b/tex/context/interface/mkiv/i-pagecomment.xml
@@ -37,4 +37,4 @@
<cd:command name="pagecomment" type="environment" level="document" category="pdf" file="page-com.mkiv"/>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-pagefigure.xml b/tex/context/interface/mkiv/i-pagefigure.xml
index 0e8af435f..5eba4ff28 100644
--- a/tex/context/interface/mkiv/i-pagefigure.xml
+++ b/tex/context/interface/mkiv/i-pagefigure.xml
@@ -32,4 +32,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-pagegrid.xml b/tex/context/interface/mkiv/i-pagegrid.xml
index 8b2cd86b9..b1ccd82ef 100644
--- a/tex/context/interface/mkiv/i-pagegrid.xml
+++ b/tex/context/interface/mkiv/i-pagegrid.xml
@@ -486,4 +486,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-pageinjection.xml b/tex/context/interface/mkiv/i-pageinjection.xml
index f2ded298e..e98272cd5 100644
--- a/tex/context/interface/mkiv/i-pageinjection.xml
+++ b/tex/context/interface/mkiv/i-pageinjection.xml
@@ -86,4 +86,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-pagelayout.xml b/tex/context/interface/mkiv/i-pagelayout.xml
index 3aadda0ff..06afe400d 100644
--- a/tex/context/interface/mkiv/i-pagelayout.xml
+++ b/tex/context/interface/mkiv/i-pagelayout.xml
@@ -38,4 +38,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-pagemarks.xml b/tex/context/interface/mkiv/i-pagemarks.xml
index 4d41bbfdd..3bab14121 100644
--- a/tex/context/interface/mkiv/i-pagemarks.xml
+++ b/tex/context/interface/mkiv/i-pagemarks.xml
@@ -33,4 +33,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-pagenumber.xml b/tex/context/interface/mkiv/i-pagenumber.xml
index 91c0d8f59..20414d9c3 100644
--- a/tex/context/interface/mkiv/i-pagenumber.xml
+++ b/tex/context/interface/mkiv/i-pagenumber.xml
@@ -183,4 +183,4 @@
<cd:command name="placepagenumber" level="style" category="counter" file="strc-pag.mkiv"/>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-pageselection.xml b/tex/context/interface/mkiv/i-pageselection.xml
index 082f53b6d..90d419bbc 100644
--- a/tex/context/interface/mkiv/i-pageselection.xml
+++ b/tex/context/interface/mkiv/i-pageselection.xml
@@ -178,4 +178,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-pageshift.xml b/tex/context/interface/mkiv/i-pageshift.xml
index 01e014a28..779304d6c 100644
--- a/tex/context/interface/mkiv/i-pageshift.xml
+++ b/tex/context/interface/mkiv/i-pageshift.xml
@@ -26,4 +26,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-pairedbox.xml b/tex/context/interface/mkiv/i-pairedbox.xml
index a5a0b9b5f..f80ed4f53 100644
--- a/tex/context/interface/mkiv/i-pairedbox.xml
+++ b/tex/context/interface/mkiv/i-pairedbox.xml
@@ -181,4 +181,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-papersize.xml b/tex/context/interface/mkiv/i-papersize.xml
index 8156235bd..4b92bda9a 100644
--- a/tex/context/interface/mkiv/i-papersize.xml
+++ b/tex/context/interface/mkiv/i-papersize.xml
@@ -300,4 +300,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-paragraph.xml b/tex/context/interface/mkiv/i-paragraph.xml
index b253f404b..c729f76d4 100644
--- a/tex/context/interface/mkiv/i-paragraph.xml
+++ b/tex/context/interface/mkiv/i-paragraph.xml
@@ -68,4 +68,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-paragraphnumber.xml b/tex/context/interface/mkiv/i-paragraphnumber.xml
index 6d35f11a0..144619088 100644
--- a/tex/context/interface/mkiv/i-paragraphnumber.xml
+++ b/tex/context/interface/mkiv/i-paragraphnumber.xml
@@ -26,4 +26,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-paragraphs.xml b/tex/context/interface/mkiv/i-paragraphs.xml
index e2fc9116e..bbbbe1bf2 100644
--- a/tex/context/interface/mkiv/i-paragraphs.xml
+++ b/tex/context/interface/mkiv/i-paragraphs.xml
@@ -166,4 +166,4 @@
<cd:command name="paragraphscell" type="environment" level="document" category="tables" file="tabl-mis.mkiv"/>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-parallel.xml b/tex/context/interface/mkiv/i-parallel.xml
index 3f7154c9f..c182df093 100644
--- a/tex/context/interface/mkiv/i-parallel.xml
+++ b/tex/context/interface/mkiv/i-parallel.xml
@@ -82,4 +82,4 @@
</cd:sequence>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-parbuilder.xml b/tex/context/interface/mkiv/i-parbuilder.xml
index 95621fce0..243e4c9bd 100644
--- a/tex/context/interface/mkiv/i-parbuilder.xml
+++ b/tex/context/interface/mkiv/i-parbuilder.xml
@@ -32,4 +32,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-pdf.xml b/tex/context/interface/mkiv/i-pdf.xml
index fc83777a1..1d835158f 100644
--- a/tex/context/interface/mkiv/i-pdf.xml
+++ b/tex/context/interface/mkiv/i-pdf.xml
@@ -128,4 +128,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-penalty.xml b/tex/context/interface/mkiv/i-penalty.xml
index d69c196f9..527a51670 100644
--- a/tex/context/interface/mkiv/i-penalty.xml
+++ b/tex/context/interface/mkiv/i-penalty.xml
@@ -26,4 +26,4 @@
<cd:command name="setdefaultpenalties" level="system" category="layout" file="spac-ver.mkiv"/>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-periods.xml b/tex/context/interface/mkiv/i-periods.xml
index 5cded3b1c..2fd4e8d38 100644
--- a/tex/context/interface/mkiv/i-periods.xml
+++ b/tex/context/interface/mkiv/i-periods.xml
@@ -40,4 +40,4 @@
<cd:command name="unknown" level="document" category="symbols" file="enco-ini.mkiv"/>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-phantom.xml b/tex/context/interface/mkiv/i-phantom.xml
index 8458be67b..8efca3ce6 100644
--- a/tex/context/interface/mkiv/i-phantom.xml
+++ b/tex/context/interface/mkiv/i-phantom.xml
@@ -38,4 +38,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-placement.xml b/tex/context/interface/mkiv/i-placement.xml
index 665d9aeb8..e07998a69 100644
--- a/tex/context/interface/mkiv/i-placement.xml
+++ b/tex/context/interface/mkiv/i-placement.xml
@@ -72,4 +72,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-position.xml b/tex/context/interface/mkiv/i-position.xml
index b9f4b3780..2e62592ba 100644
--- a/tex/context/interface/mkiv/i-position.xml
+++ b/tex/context/interface/mkiv/i-position.xml
@@ -531,4 +531,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-positionbar.xml b/tex/context/interface/mkiv/i-positionbar.xml
index 286466bef..037045aaa 100644
--- a/tex/context/interface/mkiv/i-positionbar.xml
+++ b/tex/context/interface/mkiv/i-positionbar.xml
@@ -70,4 +70,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-positioning.xml b/tex/context/interface/mkiv/i-positioning.xml
index 9d873fd46..7c3b2cb9a 100644
--- a/tex/context/interface/mkiv/i-positioning.xml
+++ b/tex/context/interface/mkiv/i-positioning.xml
@@ -95,4 +95,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-postponing.xml b/tex/context/interface/mkiv/i-postponing.xml
index 0d4c98d7a..929a0c75d 100644
--- a/tex/context/interface/mkiv/i-postponing.xml
+++ b/tex/context/interface/mkiv/i-postponing.xml
@@ -12,4 +12,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-processor.xml b/tex/context/interface/mkiv/i-processor.xml
index 7e23c6631..364e428a1 100644
--- a/tex/context/interface/mkiv/i-processor.xml
+++ b/tex/context/interface/mkiv/i-processor.xml
@@ -48,4 +48,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-profile.xml b/tex/context/interface/mkiv/i-profile.xml
index acc486cb7..af98e9c10 100644
--- a/tex/context/interface/mkiv/i-profile.xml
+++ b/tex/context/interface/mkiv/i-profile.xml
@@ -97,4 +97,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-publication.xml b/tex/context/interface/mkiv/i-publication.xml
index b6280047a..a13a06d8d 100644
--- a/tex/context/interface/mkiv/i-publication.xml
+++ b/tex/context/interface/mkiv/i-publication.xml
@@ -1139,4 +1139,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-random.xml b/tex/context/interface/mkiv/i-random.xml
index a1a17f669..1bf425898 100644
--- a/tex/context/interface/mkiv/i-random.xml
+++ b/tex/context/interface/mkiv/i-random.xml
@@ -61,4 +61,4 @@
<cd:command name="mprandomnumber" level="system" file="supp-ran.mkiv"/>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-readme.pdf b/tex/context/interface/mkiv/i-readme.pdf
index affc21f56..4eb6b1845 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/interface/mkiv/i-references.xml b/tex/context/interface/mkiv/i-references.xml
index 0c8407b42..a04b589a3 100644
--- a/tex/context/interface/mkiv/i-references.xml
+++ b/tex/context/interface/mkiv/i-references.xml
@@ -49,6 +49,16 @@
<cd:parameter name="prefix">
<cd:resolve name="value-referenceprefix"/>
</cd:parameter>
+ <!-- all margindata locations are possible -->
+ <cd:parameter name="labelalternative">
+ <cd:resolve name="value-margindata"/>
+ </cd:parameter>
+ <cd:parameter name="labelstyle">
+ <cd:resolve name="value-style"/>
+ </cd:parameter>
+ <cd:parameter name="labelcolor">
+ <cd:constant type="cd:color"/>
+ </cd:parameter>
</cd:assignments>
</cd:arguments>
</cd:command>
@@ -577,4 +587,4 @@
<cd:command name="referencesymbol" level="style" category="references" file="strc-ref.mkvi"/>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-regime.xml b/tex/context/interface/mkiv/i-regime.xml
index e126abb65..d30d96332 100644
--- a/tex/context/interface/mkiv/i-regime.xml
+++ b/tex/context/interface/mkiv/i-regime.xml
@@ -85,4 +85,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-renderingwindow.xml b/tex/context/interface/mkiv/i-renderingwindow.xml
index 525415c70..ee2dd9ce5 100644
--- a/tex/context/interface/mkiv/i-renderingwindow.xml
+++ b/tex/context/interface/mkiv/i-renderingwindow.xml
@@ -59,4 +59,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-replacement.xml b/tex/context/interface/mkiv/i-replacement.xml
index 851d2b773..8e21c1f17 100644
--- a/tex/context/interface/mkiv/i-replacement.xml
+++ b/tex/context/interface/mkiv/i-replacement.xml
@@ -23,4 +23,4 @@
<cd:command name="resetreplacements" level="style" category="language" file="lang-rep.mkiv"/>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-rotation.xml b/tex/context/interface/mkiv/i-rotation.xml
index 7bfb9b2de..b35f9de18 100644
--- a/tex/context/interface/mkiv/i-rotation.xml
+++ b/tex/context/interface/mkiv/i-rotation.xml
@@ -51,4 +51,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-ruby.xml b/tex/context/interface/mkiv/i-ruby.xml
index 4422029b8..fff39f665 100644
--- a/tex/context/interface/mkiv/i-ruby.xml
+++ b/tex/context/interface/mkiv/i-ruby.xml
@@ -74,4 +74,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-scale.xml b/tex/context/interface/mkiv/i-scale.xml
index 36a46479e..4d88c912d 100644
--- a/tex/context/interface/mkiv/i-scale.xml
+++ b/tex/context/interface/mkiv/i-scale.xml
@@ -121,4 +121,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-scite.xml b/tex/context/interface/mkiv/i-scite.xml
index f04e575e0..3e1ed2e81 100644
--- a/tex/context/interface/mkiv/i-scite.xml
+++ b/tex/context/interface/mkiv/i-scite.xml
@@ -30,4 +30,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-script.xml b/tex/context/interface/mkiv/i-script.xml
index affa2658b..da5c5049d 100644
--- a/tex/context/interface/mkiv/i-script.xml
+++ b/tex/context/interface/mkiv/i-script.xml
@@ -106,4 +106,4 @@
-->
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-section.xml b/tex/context/interface/mkiv/i-section.xml
index 0ec20a804..0395a741c 100644
--- a/tex/context/interface/mkiv/i-section.xml
+++ b/tex/context/interface/mkiv/i-section.xml
@@ -546,4 +546,4 @@
<cd:command name="headsetupspacing" level="system" category="structure" file="strc-ren.mkiv"/>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-sectionblock.xml b/tex/context/interface/mkiv/i-sectionblock.xml
index 1cb2debde..3c13ee394 100644
--- a/tex/context/interface/mkiv/i-sectionblock.xml
+++ b/tex/context/interface/mkiv/i-sectionblock.xml
@@ -129,4 +129,4 @@
-->
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-selector.xml b/tex/context/interface/mkiv/i-selector.xml
index 44970669b..ce9a90e9e 100644
--- a/tex/context/interface/mkiv/i-selector.xml
+++ b/tex/context/interface/mkiv/i-selector.xml
@@ -49,4 +49,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-setup.xml b/tex/context/interface/mkiv/i-setup.xml
index a4420bfcf..fe41ff18d 100644
--- a/tex/context/interface/mkiv/i-setup.xml
+++ b/tex/context/interface/mkiv/i-setup.xml
@@ -167,4 +167,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-shift.xml b/tex/context/interface/mkiv/i-shift.xml
index 521317d1d..68199337e 100644
--- a/tex/context/interface/mkiv/i-shift.xml
+++ b/tex/context/interface/mkiv/i-shift.xml
@@ -89,4 +89,4 @@
-->
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-sidebar.xml b/tex/context/interface/mkiv/i-sidebar.xml
index 7518b5c61..5f4258028 100644
--- a/tex/context/interface/mkiv/i-sidebar.xml
+++ b/tex/context/interface/mkiv/i-sidebar.xml
@@ -100,4 +100,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-simplecolumns.xml b/tex/context/interface/mkiv/i-simplecolumns.xml
index caefa9fbb..40829f786 100644
--- a/tex/context/interface/mkiv/i-simplecolumns.xml
+++ b/tex/context/interface/mkiv/i-simplecolumns.xml
@@ -26,9 +26,20 @@
<cd:command name="simplecolumns" type="environment" level="system" category="structure layout" file="page-smp.mkiv">
<cd:arguments>
<cd:assignments list="yes" optional="yes">
- <cd:inherit name="setsimplecolumnshsize"/>
+ <cd:parameter name="n">
+ <cd:constant type="cd:number"/>
+ </cd:parameter>
+ <cd:parameter name="width">
+ <cd:constant type="cd:dimension"/>
+ </cd:parameter>
+ <cd:parameter name="distance">
+ <cd:constant type="cd:dimension"/>
+ </cd:parameter>
+ <cd:parameter name="lines">
+ <cd:constant type="cd:number"/>
+ </cd:parameter>
</cd:assignments>
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-smash.xml b/tex/context/interface/mkiv/i-smash.xml
index 9183c8a6b..74df570e2 100644
--- a/tex/context/interface/mkiv/i-smash.xml
+++ b/tex/context/interface/mkiv/i-smash.xml
@@ -79,4 +79,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-sort.xml b/tex/context/interface/mkiv/i-sort.xml
index 6858fd90e..889d20e69 100644
--- a/tex/context/interface/mkiv/i-sort.xml
+++ b/tex/context/interface/mkiv/i-sort.xml
@@ -204,4 +204,4 @@
-->
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-soundtrack.xml b/tex/context/interface/mkiv/i-soundtrack.xml
index c374268bb..ecb474d34 100644
--- a/tex/context/interface/mkiv/i-soundtrack.xml
+++ b/tex/context/interface/mkiv/i-soundtrack.xml
@@ -27,4 +27,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-spellchecking.xml b/tex/context/interface/mkiv/i-spellchecking.xml
index 90a219fc8..6495826aa 100644
--- a/tex/context/interface/mkiv/i-spellchecking.xml
+++ b/tex/context/interface/mkiv/i-spellchecking.xml
@@ -30,4 +30,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-spreadsheet.xml b/tex/context/interface/mkiv/i-spreadsheet.xml
index 8181cfe2d..942be9f7d 100644
--- a/tex/context/interface/mkiv/i-spreadsheet.xml
+++ b/tex/context/interface/mkiv/i-spreadsheet.xml
@@ -137,4 +137,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-startstop.xml b/tex/context/interface/mkiv/i-startstop.xml
index ba0abb0b7..3df32a516 100644
--- a/tex/context/interface/mkiv/i-startstop.xml
+++ b/tex/context/interface/mkiv/i-startstop.xml
@@ -97,4 +97,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-steps.xml b/tex/context/interface/mkiv/i-steps.xml
index c71bc2e2f..dc86f6397 100644
--- a/tex/context/interface/mkiv/i-steps.xml
+++ b/tex/context/interface/mkiv/i-steps.xml
@@ -409,4 +409,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-stream.xml b/tex/context/interface/mkiv/i-stream.xml
index 7e769fdb6..b392fd001 100644
--- a/tex/context/interface/mkiv/i-stream.xml
+++ b/tex/context/interface/mkiv/i-stream.xml
@@ -71,4 +71,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-string.xml b/tex/context/interface/mkiv/i-string.xml
index aba5429c5..567881602 100644
--- a/tex/context/interface/mkiv/i-string.xml
+++ b/tex/context/interface/mkiv/i-string.xml
@@ -66,4 +66,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-synctex.xml b/tex/context/interface/mkiv/i-synctex.xml
index 21f49e3f6..363d9657c 100644
--- a/tex/context/interface/mkiv/i-synctex.xml
+++ b/tex/context/interface/mkiv/i-synctex.xml
@@ -39,4 +39,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-synonym.xml b/tex/context/interface/mkiv/i-synonym.xml
index d2a966f15..017b688c4 100644
--- a/tex/context/interface/mkiv/i-synonym.xml
+++ b/tex/context/interface/mkiv/i-synonym.xml
@@ -237,4 +237,4 @@
-->
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-system.xml b/tex/context/interface/mkiv/i-system.xml
index d00ebc01a..b7c46c9ce 100644
--- a/tex/context/interface/mkiv/i-system.xml
+++ b/tex/context/interface/mkiv/i-system.xml
@@ -3425,6 +3425,8 @@
<cd:command name="elapsedseconds" level="system" file="syst-aux.mkiv"/>
+ <cd:command name="elapsedsteptime" level="system" file="syst-aux.mkiv"/>
+
<cd:command name="currentfeaturetest" level="system" file="syst-aux.mkiv"/>
<cd:command name="testfeature" level="system" file="syst-aux.mkiv">
@@ -3434,6 +3436,8 @@
</cd:arguments>
</cd:command>
+ <cd:command name="retestfeature" level="system" file="syst-aux.mkiv"/>
+
<cd:command name="showtimer" level="system" file="syst-aux.mkiv">
<cd:arguments>
<cd:resolve name="argument-text"/>
diff --git a/tex/context/interface/mkiv/i-systemlog.xml b/tex/context/interface/mkiv/i-systemlog.xml
index fc3243cfb..93717af21 100644
--- a/tex/context/interface/mkiv/i-systemlog.xml
+++ b/tex/context/interface/mkiv/i-systemlog.xml
@@ -28,4 +28,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-table.xml b/tex/context/interface/mkiv/i-table.xml
index b4a4e7dde..c75fc1d8e 100644
--- a/tex/context/interface/mkiv/i-table.xml
+++ b/tex/context/interface/mkiv/i-table.xml
@@ -407,4 +407,4 @@
-->
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-tabulation.xml b/tex/context/interface/mkiv/i-tabulation.xml
index 6768b9b4c..09937504f 100644
--- a/tex/context/interface/mkiv/i-tabulation.xml
+++ b/tex/context/interface/mkiv/i-tabulation.xml
@@ -4,19 +4,164 @@
<cd:interface xmlns:cd="http://www.pragma-ade.com/commands">
- <cd:command name="definetabulation" level="style" category="tables" file="tabl-tbl.mkiv">
+ <!--
+
+ <cd:command name="definetabulation" level="style" category="tables" file="tabl-tbl.mkiv">
+ <cd:arguments>
+ <cd:resolve name="keyword-name"/>
+ <cd:resolve name="keyword-name-optional"/>
+ <cd:assignments list="yes" optional="yes">
+ <cd:inherit name="setuptabulation"/>
+ </cd:assignments>
+ </cd:arguments>
+ </cd:command>
+
+ <cd:command name="setuptabulation" level="style" category="tables" file="tabl-tbl.mkiv">
+ <cd:arguments>
+ <cd:resolve name="keyword-name-list-optional"/>
+ <cd:assignments list="yes">
+ <cd:parameter name="format">
+ <cd:constant type="cd:template"/>
+ <cd:constant type="none"/>
+ </cd:parameter>
+ <cd:parameter name="before">
+ <cd:constant type="cd:command"/>
+ </cd:parameter>
+ <cd:parameter name="after">
+ <cd:constant type="cd:command"/>
+ </cd:parameter>
+ <cd:parameter name="distance">
+ <cd:constant type="small"/>
+ <cd:constant type="medium" default="yes"/>
+ <cd:constant type="big"/>
+ <cd:constant type="none"/>
+ <cd:constant type="blank"/>
+ <cd:constant type="depth" default="yes"/>
+ <cd:constant type="grid"/>
+ <cd:constant type="cd:dimension"/>
+ </cd:parameter>
+ <cd:parameter name="blank">
+ <cd:resolve name="value-blank"/>
+ </cd:parameter>
+ <cd:parameter name="headstyle">
+ <cd:resolve name="value-style"/>
+ </cd:parameter>
+ <cd:parameter name="headcolor">
+ <cd:constant type="cd:color"/>
+ </cd:parameter>
+ <cd:parameter name="background">
+ <cd:constant type="cd:name"/>
+ </cd:parameter>
+ <cd:parameter name="backgroundcolor">
+ <cd:constant type="cd:color"/>
+ </cd:parameter>
+ <cd:parameter name="foregroundstyle">
+ <cd:resolve name="value-style"/>
+ </cd:parameter>
+ <cd:parameter name="foregroundcolor">
+ <cd:constant type="cd:color"/>
+ </cd:parameter>
+ <cd:parameter name="align">
+ <cd:constant type="left"/>
+ <cd:constant type="middle"/>
+ <cd:constant type="right"/>
+ <cd:constant type="dimension"/>
+ </cd:parameter>
+ <cd:parameter name="rule">
+ <cd:constant type="line"/>
+ <cd:constant type="normal" default="yes"/>
+ </cd:parameter>
+ <cd:parameter name="rulecolor">
+ <cd:constant type="cd:color"/>
+ </cd:parameter>
+ <cd:parameter name="rulethickness">
+ <cd:constant type="cd:dimension"/>
+ </cd:parameter>
+ <cd:parameter name="bodyfont">
+ <cd:inherit name="setupbodyfont"/>
+ </cd:parameter>
+ <cd:parameter name="indenting">
+ <cd:constant type="yes"/>
+ <cd:constant type="no" default="yes"/>
+ </cd:parameter>
+ <cd:parameter name="split">
+ <cd:constant type="yes"/>
+ <cd:constant type="no"/>
+ <cd:constant type="repeat"/>
+ <cd:constant type="auto" default="yes"/>
+ </cd:parameter>
+ <cd:parameter name="unit">
+ <cd:constant type="cd:dimension"/>
+ </cd:parameter>
+ <cd:parameter name="margin">
+ <cd:constant type="cd:dimension"/>
+ </cd:parameter>
+ <cd:parameter name="inner">
+ <cd:constant type="cd:command"/>
+ </cd:parameter>
+ <cd:parameter name="EQ">
+ <cd:constant type="cd:command"/>
+ </cd:parameter>
+ <cd:parameter name="header">
+ <cd:constant type="yes" default="yes"/>
+ <cd:constant type="repeat"/>
+ <cd:constant type="text"/>
+ </cd:parameter>
+ <cd:parameter name="frame">
+ <cd:constant type="on"/>
+ <cd:constant type="off" default="yes"/>
+ </cd:parameter>
+ <cd:parameter name="title">
+ <cd:constant type="cd:text"/>
+ </cd:parameter>
+ <cd:parameter name="keeptogether">
+ <cd:constant type="yes" default="yes"/>
+ <cd:constant type="no"/>
+ </cd:parameter>
+ </cd:assignments>
+ </cd:arguments>
+ </cd:command>
+
+ <cd:command name="tabulation" type="environment" generated="yes" variant="example" level="document" category="tables" file="tabl-tbl.mkiv">
+ <cd:sequence>
+ <cd:variable value="tabulation"/>
+ </cd:sequence>
+ <cd:arguments>
+ <cd:resolve name="keyword-name-optional"/>
+ <cd:assignments list="yes" optional="yes">
+ <cd:inherit name="setuptabulation"/>
+ </cd:assignments>
+ </cd:arguments>
+ </cd:command>
+
+ -->
+
+ <cd:command name="definetabulate" level="style" category="tables" file="tabl-tbl.mkiv">
<cd:arguments>
<cd:resolve name="keyword-name"/>
<cd:resolve name="keyword-name-optional"/>
- <cd:assignments list="yes" optional="yes">
- <cd:inherit name="setuptabulation"/>
- </cd:assignments>
+ <cd:template optional="yes"/>
</cd:arguments>
</cd:command>
- <cd:command name="setuptabulation" level="style" category="tables" file="tabl-tbl.mkiv">
+ <!--
+
+ <cd:command name="setuptabulate" level="style" category="tables" file="tabl-tbl.mkiv">
+ <cd:arguments>
+ <cd:resolve name="keyword-name-optional"/>
+ <cd:resolve name="keyword-name-optional"/>
+ <cd:assignments list="yes">
+ <cd:inherit name="setuptabulation"/>
+ </cd:assignments>
+ </cd:arguments>
+ </cd:command>
+
+ -->
+
+ <cd:command name="setuptabulate" level="style" category="tables" file="tabl-tbl.mkiv">
<cd:arguments>
- <cd:resolve name="keyword-name-list-optional"/>
+ <cd:resolve name="keyword-name-optional"/>
+ <cd:resolve name="keyword-name-optional"/>
<cd:assignments list="yes">
<cd:parameter name="format">
<cd:constant type="cd:template"/>
@@ -120,36 +265,6 @@
</cd:arguments>
</cd:command>
- <cd:command name="tabulation" type="environment" generated="yes" variant="example" level="document" category="tables" file="tabl-tbl.mkiv">
- <cd:sequence>
- <cd:variable value="tabulation"/>
- </cd:sequence>
- <cd:arguments>
- <cd:resolve name="keyword-name-optional"/>
- <cd:assignments list="yes" optional="yes">
- <cd:inherit name="setuptabulation"/>
- </cd:assignments>
- </cd:arguments>
- </cd:command>
-
- <cd:command name="definetabulate" level="style" category="tables" file="tabl-tbl.mkiv">
- <cd:arguments>
- <cd:resolve name="keyword-name"/>
- <cd:resolve name="keyword-name-optional"/>
- <cd:template optional="yes"/>
- </cd:arguments>
- </cd:command>
-
- <cd:command name="setuptabulate" level="style" category="tables" file="tabl-tbl.mkiv">
- <cd:arguments>
- <cd:resolve name="keyword-name-optional"/>
- <cd:resolve name="keyword-name-optional"/>
- <cd:assignments list="yes">
- <cd:inherit name="setuptabulation"/>
- </cd:assignments>
- </cd:arguments>
- </cd:command>
-
<cd:command name="tabulate" type="environment" level="document" category="tables" file="tabl-tbl.mkiv">
<cd:arguments>
<cd:template optional="yes"/>
diff --git a/tex/context/interface/mkiv/i-tex.xml b/tex/context/interface/mkiv/i-tex.xml
index 277c4db95..5599315c5 100644
--- a/tex/context/interface/mkiv/i-tex.xml
+++ b/tex/context/interface/mkiv/i-tex.xml
@@ -454,4 +454,4 @@
<cd:command name="xspaceskip" level="primitive"/>
<cd:command name="year" level="primitive"/>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-textbackground.xml b/tex/context/interface/mkiv/i-textbackground.xml
index 6104b1d9a..9d5b36c07 100644
--- a/tex/context/interface/mkiv/i-textbackground.xml
+++ b/tex/context/interface/mkiv/i-textbackground.xml
@@ -148,4 +148,4 @@
<cd:command name="textbackgroundmanual" type="environment" level="system" category="background" file="anch-bck.mkiv"/>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-textflow.xml b/tex/context/interface/mkiv/i-textflow.xml
index 9c9ea2190..b532b10f9 100644
--- a/tex/context/interface/mkiv/i-textflow.xml
+++ b/tex/context/interface/mkiv/i-textflow.xml
@@ -81,4 +81,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-textrule.xml b/tex/context/interface/mkiv/i-textrule.xml
index b71df66a6..addbc1316 100644
--- a/tex/context/interface/mkiv/i-textrule.xml
+++ b/tex/context/interface/mkiv/i-textrule.xml
@@ -69,4 +69,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-texts.xml b/tex/context/interface/mkiv/i-texts.xml
index eb6f79ec8..18f40911c 100644
--- a/tex/context/interface/mkiv/i-texts.xml
+++ b/tex/context/interface/mkiv/i-texts.xml
@@ -286,4 +286,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-thinrule.xml b/tex/context/interface/mkiv/i-thinrule.xml
index 372f9a238..bc150083a 100644
--- a/tex/context/interface/mkiv/i-thinrule.xml
+++ b/tex/context/interface/mkiv/i-thinrule.xml
@@ -71,4 +71,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-token.xml b/tex/context/interface/mkiv/i-token.xml
index 09e2ad3d6..8d9ced890 100644
--- a/tex/context/interface/mkiv/i-token.xml
+++ b/tex/context/interface/mkiv/i-token.xml
@@ -59,4 +59,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-tolerance.xml b/tex/context/interface/mkiv/i-tolerance.xml
index 3d0010edf..1613c3170 100644
--- a/tex/context/interface/mkiv/i-tolerance.xml
+++ b/tex/context/interface/mkiv/i-tolerance.xml
@@ -19,4 +19,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-tooltip.xml b/tex/context/interface/mkiv/i-tooltip.xml
index df43ff9ce..99019933b 100644
--- a/tex/context/interface/mkiv/i-tooltip.xml
+++ b/tex/context/interface/mkiv/i-tooltip.xml
@@ -88,4 +88,4 @@
-->
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-tracker.xml b/tex/context/interface/mkiv/i-tracker.xml
index 3db36addc..579de59fb 100644
--- a/tex/context/interface/mkiv/i-tracker.xml
+++ b/tex/context/interface/mkiv/i-tracker.xml
@@ -72,4 +72,4 @@
<cd:command name="showjustification" level="system" file="trac-jus.mkiv"/>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-translate.xml b/tex/context/interface/mkiv/i-translate.xml
index a865a4dd0..566208f96 100644
--- a/tex/context/interface/mkiv/i-translate.xml
+++ b/tex/context/interface/mkiv/i-translate.xml
@@ -23,4 +23,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-translation.xml b/tex/context/interface/mkiv/i-translation.xml
index f4f03037e..9737fffaa 100644
--- a/tex/context/interface/mkiv/i-translation.xml
+++ b/tex/context/interface/mkiv/i-translation.xml
@@ -26,4 +26,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-twopassdata.xml b/tex/context/interface/mkiv/i-twopassdata.xml
index 992735693..63783d040 100644
--- a/tex/context/interface/mkiv/i-twopassdata.xml
+++ b/tex/context/interface/mkiv/i-twopassdata.xml
@@ -121,4 +121,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-typography.xml b/tex/context/interface/mkiv/i-typography.xml
index c5f06fa13..8f6fb1974 100644
--- a/tex/context/interface/mkiv/i-typography.xml
+++ b/tex/context/interface/mkiv/i-typography.xml
@@ -170,4 +170,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-unit.xml b/tex/context/interface/mkiv/i-unit.xml
index c8092a4ed..247254ec5 100644
--- a/tex/context/interface/mkiv/i-unit.xml
+++ b/tex/context/interface/mkiv/i-unit.xml
@@ -137,4 +137,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-variables.xml b/tex/context/interface/mkiv/i-variables.xml
index 7c295f9ad..12855e36f 100644
--- a/tex/context/interface/mkiv/i-variables.xml
+++ b/tex/context/interface/mkiv/i-variables.xml
@@ -370,4 +370,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-verbatim.xml b/tex/context/interface/mkiv/i-verbatim.xml
index 830b8bb11..f81665cc1 100644
--- a/tex/context/interface/mkiv/i-verbatim.xml
+++ b/tex/context/interface/mkiv/i-verbatim.xml
@@ -440,4 +440,4 @@
-->
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-version.xml b/tex/context/interface/mkiv/i-version.xml
index 22a3846d9..1e6e46d58 100644
--- a/tex/context/interface/mkiv/i-version.xml
+++ b/tex/context/interface/mkiv/i-version.xml
@@ -75,4 +75,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-viewerlayer.xml b/tex/context/interface/mkiv/i-viewerlayer.xml
index fde846e4d..6b68b7fb9 100644
--- a/tex/context/interface/mkiv/i-viewerlayer.xml
+++ b/tex/context/interface/mkiv/i-viewerlayer.xml
@@ -65,4 +65,4 @@
<cd:command name="showlayoutcomponents" level="document" category="pdf" file="attr-lay.mkiv"/>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-visual.xml b/tex/context/interface/mkiv/i-visual.xml
index 7849ab90b..dc9e96ec3 100644
--- a/tex/context/interface/mkiv/i-visual.xml
+++ b/tex/context/interface/mkiv/i-visual.xml
@@ -151,4 +151,4 @@
<cd:command name="coloredstrut" level="system" file="m-visual.mkiv"/>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-whitespace.xml b/tex/context/interface/mkiv/i-whitespace.xml
index a44b08f1d..0f3e0bdcc 100644
--- a/tex/context/interface/mkiv/i-whitespace.xml
+++ b/tex/context/interface/mkiv/i-whitespace.xml
@@ -61,4 +61,4 @@
<cd:command name="forgetparskip" category="alignment" level="system" file="spac-ver.mkiv"/>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/generic/context/luatex/luatex-fonts-merged.lua b/tex/generic/context/luatex/luatex-fonts-merged.lua
index 0af016d2a..d0aa965f3 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 : 2020-05-25 23:36
+-- merge date : 2020-06-09 18:53
do -- begin closure to overcome local limits and interference
@@ -27999,6 +27999,7 @@ local function chaindisk(head,start,dataset,sequence,rlmode,skiphash,ck)
local sweepnode=sweepnode
local sweeptype=sweeptype
local sweepoverflow=false
+ local checkdisc=getprev(head)
local keepdisc=not sweepnode
local lookaheaddisc=nil
local backtrackdisc=nil
@@ -28122,7 +28123,7 @@ local function chaindisk(head,start,dataset,sequence,rlmode,skiphash,ck)
local current=prev
local i=f
local t=sweeptype=="pre" or sweeptype=="replace"
- if not current and t and current==checkdisk then
+ if not current and t and current==checkdisc then
current=getprev(sweepnode)
end
while current and i>1 do
@@ -28150,7 +28151,7 @@ local function chaindisk(head,start,dataset,sequence,rlmode,skiphash,ck)
end
end
current=getprev(current)
- if t and current==checkdisk then
+ if t and current==checkdisc then
current=getprev(sweepnode)
end
end
@@ -28335,6 +28336,9 @@ local function handle_contextchain(head,start,dataset,sequence,contexts,rlmode,s
local l=ck[5]
local current=start
local last=start
+ if s==1 then
+ goto next
+ end
if l>f then
local discfound
local n=f+1
@@ -28400,6 +28404,9 @@ local function handle_contextchain(head,start,dataset,sequence,contexts,rlmode,s
break
end
end
+ if n<=l then
+ notmatchpre[last]=true
+ end
else
notmatchpre[last]=true
end