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/mkiv/cont-new.mkiv2
-rw-r--r--tex/context/base/mkiv/context.mkiv2
-rw-r--r--tex/context/base/mkiv/context.mkxl2
-rw-r--r--tex/context/base/mkiv/driv-shp.lua8
-rw-r--r--tex/context/base/mkiv/file-ini.mkvi54
-rw-r--r--tex/context/base/mkiv/lxml-ini.lua230
-rw-r--r--tex/context/base/mkiv/lxml-ini.mkiv197
-rw-r--r--tex/context/base/mkiv/lxml-tex.lua10
-rw-r--r--tex/context/base/mkiv/math-ali.mkiv4
-rw-r--r--tex/context/base/mkiv/mult-low.lua2
-rw-r--r--tex/context/base/mkiv/pack-rul.mkxl30
-rw-r--r--tex/context/base/mkiv/spac-flr.mkiv17
-rw-r--r--tex/context/base/mkiv/status-files.pdfbin0 -> 27767 bytes
-rw-r--r--tex/context/base/mkiv/status-lua.pdfbin0 -> 253280 bytes
-rw-r--r--tex/context/base/mkiv/syst-aux.mkiv4
-rw-r--r--tex/context/base/mkiv/syst-aux.mkxl4
-rw-r--r--tex/context/base/mkiv/syst-fnt.mkiv7
-rw-r--r--tex/context/base/mkiv/toks-ini.lua2
-rw-r--r--tex/context/base/mkiv/trac-vis.lua8
-rw-r--r--tex/context/base/mkiv/type-ini.mklx7
-rw-r--r--tex/generic/context/luatex/luatex-fonts-merged.lua2
23 files changed, 297 insertions, 299 deletions
diff --git a/tex/context/base/mkii/cont-new.mkii b/tex/context/base/mkii/cont-new.mkii
index 7a8184ee4..3f7db0e5d 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.06.14 22:04}
+\newcontextversion{2020.06.17 18:56}
%D This file is loaded at runtime, thereby providing an
%D excellent place for hacks, patches, extensions and new
diff --git a/tex/context/base/mkii/context.mkii b/tex/context/base/mkii/context.mkii
index 8fcff83d3..595650caf 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.06.14 22:04}
+\edef\contextversion{2020.06.17 18:56}
%D For those who want to use this:
diff --git a/tex/context/base/mkiv/cont-new.mkiv b/tex/context/base/mkiv/cont-new.mkiv
index 58a3ef3e4..397aed038 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.06.14 22:04}
+\newcontextversion{2020.06.17 18:56}
%D This file is loaded at runtime, thereby providing an excellent place for hacks,
%D patches, extensions and new features. There can be local overloads in cont-loc
diff --git a/tex/context/base/mkiv/context.mkiv b/tex/context/base/mkiv/context.mkiv
index fc883aa5e..dec0327ff 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.06.14 22:04}
+\edef\contextversion{2020.06.17 18:56}
\edef\contextkind {beta}
%D Kind of special:
diff --git a/tex/context/base/mkiv/context.mkxl b/tex/context/base/mkiv/context.mkxl
index fa498190b..0ca2406ea 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.06.14 22:04}
+\edef\contextversion{2020.06.17 18:56}
\edef\contextkind {beta}
%D Kind of special:
diff --git a/tex/context/base/mkiv/driv-shp.lua b/tex/context/base/mkiv/driv-shp.lua
index e7f19aea0..569a1f8dc 100644
--- a/tex/context/base/mkiv/driv-shp.lua
+++ b/tex/context/base/mkiv/driv-shp.lua
@@ -547,7 +547,7 @@ local hlist_out, vlist_out do
pos_r = getdirection(this_box)
local boxwidth,
boxheight,
- boxdepth = getwhd(this_box)
+ boxdepth = getwhd(this_box)
local cur_h = 0
local cur_v = 0
@@ -675,10 +675,10 @@ local hlist_out, vlist_out do
end
end
elseif id == hlist_code or id == vlist_code then
- local boxdir = getdirection(current) or lefttoright_code
local width, height, depth = getwhd(current)
local list = getlist(current)
if list then
+ local boxdir = getdirection(current) or lefttoright_code
local shift, orientation = getshift(current)
if not orientation then
local basepoint_h = boxdir ~= pos_r and width or 0
@@ -896,7 +896,7 @@ local hlist_out, vlist_out do
local boxwidth,
boxheight,
- boxdepth = getwhd(this_box)
+ boxdepth = getwhd(this_box)
local cur_h = 0
local cur_v = - boxheight
@@ -997,10 +997,10 @@ local hlist_out, vlist_out do
end
end
elseif id == hlist_code or id == vlist_code then
- local boxdir = getdirection(current) or lefttoright_code
local width, height, depth = getwhd(current)
local list = getlist(current)
if list then
+ local boxdir = getdirection(current) or lefttoright_code
local shift, orientation = getshift(current)
if not orientation then
-- local basepoint_h = shift
diff --git a/tex/context/base/mkiv/file-ini.mkvi b/tex/context/base/mkiv/file-ini.mkvi
index 225b6b40d..5341cc07b 100644
--- a/tex/context/base/mkiv/file-ini.mkvi
+++ b/tex/context/base/mkiv/file-ini.mkvi
@@ -10,9 +10,8 @@
%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
%C details.
-%D \TEX\ operates on files, so one wouldn't wonder that there
-%D is a separate module for file commands. In \CONTEXT\ files
-%D are used for several purposes:
+%D \TEX\ operates on files, so one wouldn't wonder that there is a separate module
+%D for file commands. In \CONTEXT\ files are used for several purposes:
%D
%D \startitemize[packed]
%D \item general textual input
@@ -21,10 +20,9 @@
%D \item buffering defered textual input
%D \stopitemize
%D
-%D When dealing with files we can load them as a whole, using
-%D the \type{\input} primitive or load them on a line||by||line
-%D basis, using \type{\read}. Writing is always done line by
-%D line, using \type{\write}.
+%D When dealing with files we can load them as a whole, using the \type {\input}
+%D primitive or load them on a line||by||line basis, using \type {\read}. Writing is
+%D always done line by line, using \type {\write}.
\writestatus{loading}{ConTeXt File Macros / Helpers}
@@ -35,9 +33,9 @@
%D \macros
%D {scratchread, scratchwrite}
%D
-%D We define a scratch file for reading. Keep in mind that
-%D the number of files is limited to~16, so use this one when
-%D possible. We also define a scratch output file.
+%D We define a scratch file for reading. Keep in mind that the number of files is
+%D limited to~16, so use this one when possible. We also define a scratch output
+%D file. In \MKIV\ and \LMTX\ we never use these file handles.
\ifdefined\scratchread \else \newread \scratchread \fi
\ifdefined\scratchwrite \else \newwrite\scratchwrite \fi
@@ -60,12 +58,10 @@
%D \macros
%D {pushendofline,popendofline}
%D
-%D When we are loading files in the middle of the typesetting
-%D process, for instance when we load references, we have to be
-%D sure that the reading process does not generate so called
-%D 'spurious spaces'. This can be prevented by assigning the
-%D line ending character the \CATCODE\ comment. This is
-%D accomplished by
+%D When we are loading files in the middle of the typesetting process, for instance
+%D when we load references, we have to be sure that the reading process does not
+%D generate so called 'spurious spaces'. This can be prevented by assigning the line
+%D ending character the \CATCODE\ comment. This is accomplished by
%D
%D \starttyping
%D \pushendofline
@@ -114,11 +110,10 @@
%D \macros
%D {input, normalinput}
%D
-%D Sometimes we run into troubles when \type {\input} wants to get
-%D expanded, e.g. in a \type {\write} (which happens in the metafun
-%D manual when we permit long MP lines). So, instead of fixing that,
-%D we go for a redefinition of \type {\input}. Of course it's better
-%D to use \type {\readfile} or \type {\processfile}.
+%D Sometimes we run into troubles when \type {\input} wants to get expanded, e.g. in
+%D a \type {\write} (which happens in the metafun manual when we permit long MP
+%D lines). So, instead of fixing that, we go for a redefinition of \type {\input}.
+%D Of course it's better to use \type {\readfile} or \type {\processfile}.
\unexpanded\def\input{\normalinput}
@@ -127,8 +122,8 @@
%D \macros
%D {doifelsefile}
%D
-%D The next alternative only looks if a file is present. No
-%D loading is done. This one obeys the standard \TEX\ lookup.
+%D The next alternative only looks if a file is present. No loading is done. This
+%D one obeys the standard \TEX\ lookup.
%D
%D \starttyping
%D \doiffileelse {filename} {found} {not found}
@@ -155,7 +150,7 @@
%D \doifparentfileelse{filename}{yes}{no}
%D \stoptyping
-\ifx\outputfilename\undefined \def\outputfilename{\jobname} \fi
+\ifdefined\outputfilename \else \def\outputfilename{\jobname} \fi
\unexpanded\def\doifelseparentfile{\clf_doifelseparentfile}
@@ -200,10 +195,9 @@
%D \macros
%D {doonlyonce, doinputonce, doendinputonce}
%D
-%D Especially macropackages need only be loaded once.
-%D Repetitive loading not only costs time, relocating registers
-%D often leads to abortion of the processing because \TEX's
-%D capacity is limited. One can prevent multiple execution and
+%D Especially macropackages need only be loaded once. Repetitive loading not only
+%D costs time, relocating registers often leads to abortion of the processing
+%D because \TEX's capacity is limited. One can prevent multiple execution and
%D loading by using one of both:
%D
%D \starttyping
@@ -212,8 +206,8 @@
%D \doendinputonce{filename}
%D \stoptyping
%D
-%D This command obeys the standard method for locating files. We could
-%D move this function to the \LUA\ end.
+%D This command obeys the standard method for locating files. We could move this
+%D function to the \LUA\ end.
\installsystemnamespace {fileonce}
diff --git a/tex/context/base/mkiv/lxml-ini.lua b/tex/context/base/mkiv/lxml-ini.lua
index 348ecbbe4..f9ba96ece 100644
--- a/tex/context/base/mkiv/lxml-ini.lua
+++ b/tex/context/base/mkiv/lxml-ini.lua
@@ -21,120 +21,122 @@ local implement = interfaces.implement
-- lxml.id
-implement { name = "lxmlid", actions = lxml.getid, arguments = "string" }
-
-implement { name = "xmldoif", actions = lxml.doif, arguments = "2 strings" }
-implement { name = "xmldoifnot", actions = lxml.doifnot, arguments = "2 strings" }
-implement { name = "xmldoifelse", actions = lxml.doifelse, arguments = "2 strings" }
-implement { name = "xmldoiftext", actions = lxml.doiftext, arguments = "2 strings" }
-implement { name = "xmldoifnottext", actions = lxml.doifnottext, arguments = "2 strings" }
-implement { name = "xmldoifelsetext", actions = lxml.doifelsetext, arguments = "2 strings" }
-
-implement { name = "xmldoifempty", actions = lxml.doifempty, arguments = "2 strings" }
-implement { name = "xmldoifnotempty", actions = lxml.doifnotempty, arguments = "2 strings" }
-implement { name = "xmldoifelseempty", actions = lxml.doifelseempty, arguments = "2 strings" }
-implement { name = "xmldoifselfempty", actions = lxml.doifempty, arguments = "string" } -- second arg is not passed (used)
-implement { name = "xmldoifnotselfempty", actions = lxml.doifnotempty, arguments = "string" } -- second arg is not passed (used)
-implement { name = "xmldoifelseselfempty", actions = lxml.doifelseempty, arguments = "string" } -- second arg is not passed (used)
-
---------- { name = "xmlcontent", actions = lxml.content, arguments = "string" }
---------- { name = "xmlflushstripped", actions = lxml.strip, arguments = { "string", true } }
-
-implement { name = "xmlall", actions = lxml.all, arguments = "2 strings" }
-implement { name = "xmlatt", actions = lxml.att, arguments = "2 strings" }
-implement { name = "xmlattdef", actions = lxml.att, arguments = "3 strings" }
-implement { name = "xmlattribute", actions = lxml.attribute, arguments = "3 strings" }
-implement { name = "xmlattributedef", actions = lxml.attribute, arguments = "4 strings" }
-implement { name = "xmlbadinclusions", actions = lxml.badinclusions, arguments = "string" }
-implement { name = "xmlchainatt", actions = lxml.chainattribute, arguments = { "string", "'/'", "string" } }
-implement { name = "xmlchainattdef", actions = lxml.chainattribute, arguments = { "string", "'/'", "string", "string" } }
-implement { name = "xmlchecknamespace", actions = xml.checknamespace, arguments = { "lxmlid", "string", "string" } }
-implement { name = "xmlcommand", actions = lxml.command, arguments = "3 strings" }
-implement { name = "xmlconcat", actions = lxml.concat, arguments = "3 strings" } -- \detokenize{#3}
-implement { name = "xmlconcatrange", actions = lxml.concatrange, arguments = { "string", "string", "string", "string", "string" } } -- \detokenize{#5}
-implement { name = "xmlcontext", actions = lxml.context, arguments = "2 strings" }
-implement { name = "xmlcount", actions = lxml.count, arguments = "2 strings" }
-implement { name = "xmldelete", actions = lxml.delete, arguments = "2 strings" }
-implement { name = "xmldirect", actions = lxml.direct, arguments = "string" }
-implement { name = "xmldirectives", actions = lxml.directives.setup, arguments = "string" }
-implement { name = "xmldirectivesafter", actions = lxml.directives.after, arguments = "string" }
-implement { name = "xmldirectivesbefore", actions = lxml.directives.before, arguments = "string" }
-implement { name = "xmldisplayverbatim", actions = lxml.displayverbatim, arguments = "string" }
-implement { name = "xmlelement", actions = lxml.element, arguments = "2 strings" } -- could be integer but now we can alias
-implement { name = "xmlfilter", actions = lxml.filter, arguments = "2 strings" }
-implement { name = "xmlfilterlist", actions = lxml.filterlist, arguments = "2 strings" }
-implement { name = "xmlfirst", actions = lxml.first, arguments = "2 strings" }
-implement { name = "xmlflush", actions = lxml.flush, arguments = "string" }
-implement { name = "xmlflushcontext", actions = lxml.context, arguments = "string" }
-implement { name = "xmlflushlinewise", actions = lxml.flushlinewise, arguments = "string" }
-implement { name = "xmlflushpure", actions = lxml.pure, arguments = "string" }
-implement { name = "xmlflushspacewise", actions = lxml.flushspacewise, arguments = "string" }
-implement { name = "xmlflushtext", actions = lxml.text, arguments = "string" }
-implement { name = "xmlfunction", actions = lxml.applyfunction, arguments = "2 strings" }
-implement { name = "xmlinclude", actions = lxml.include, arguments = { "string", "string", "string", true } }
-implement { name = "xmlincludeoptions", actions = lxml.include, arguments = "4 strings" }
-implement { name = "xmlinclusion", actions = lxml.inclusion, arguments = "string" }
-implement { name = "xmlinclusionbase", actions = lxml.inclusion, arguments = { "string", false, true } }
-implement { name = "xmlinclusions", actions = lxml.inclusions, arguments = "string" }
-implement { name = "xmlindex", actions = lxml.index, arguments = "3 strings" } -- can be integer but now we can alias
-implement { name = "xmlinlineverbatim", actions = lxml.inlineverbatim, arguments = "string" }
-implement { name = "xmllast", actions = lxml.last, arguments = "2 strings" }
-implement { name = "xmllastatt", actions = lxml.lastatt }
-implement { name = "xmllastmatch", actions = lxml.lastmatch }
-implement { name = "xmllastpar", actions = lxml.lastpar }
-implement { name = "xmlloadfile", actions = lxml.load, arguments = "3 strings" }
-implement { name = "xmlloadbuffer", actions = lxml.loadbuffer, arguments = "3 strings" }
-implement { name = "xmlloaddata", actions = lxml.loaddata, arguments = "3 strings" }
-implement { name = "xmlloaddirectives", actions = lxml.directives.load, arguments = "string" }
-implement { name = "xmlmain", actions = lxml.main, arguments = "string" }
-implement { name = "xmlmatch", actions = lxml.match, arguments = "string" }
-implement { name = "xmlname", actions = lxml.name, arguments = "string" }
-implement { name = "xmlnamespace", actions = lxml.namespace, arguments = "string" }
-implement { name = "xmlnonspace", actions = lxml.nonspace, arguments = "2 strings" }
-implement { name = "xmlpar", actions = lxml.par, arguments = "2 strings" }
-implement { name = "xmlparam", actions = lxml.param, arguments = "3 strings" }
-implement { name = "xmlpath", actions = lxml.path, arguments = { "string", "'/'" } }
-implement { name = "xmlpopmatch", actions = lxml.popmatch }
-implement { name = "xmlpos", actions = lxml.pos, arguments = "string" }
-implement { name = "xmlpure", actions = lxml.pure, arguments = "2 strings" }
-implement { name = "xmlpushmatch", actions = lxml.pushmatch }
-implement { name = "xmlraw", actions = lxml.raw, arguments = "2 strings" }
-implement { name = "xmlrawtex", actions = lxml.rawtex, arguments = "2 strings" }
-implement { name = "xmlrefatt", actions = lxml.refatt, arguments = "2 strings" }
-implement { name = "xmlregisterns", actions = xml.registerns, arguments = "2 strings" }
-implement { name = "xmlremapname", actions = xml.remapname, arguments = { "lxmlid", "string","string","string" } }
-implement { name = "xmlremapnamespace", actions = xml.renamespace, arguments = { "lxmlid", "string", "string" } }
-implement { name = "xmlsave", actions = lxml.save, arguments = "2 strings" }
-implement { name = "xmlsetatt", actions = lxml.setatt, arguments = "3 strings" }
-implement { name = "xmlsetattribute", actions = lxml.setattribute, arguments = "4 strings" }
-implement { name = "xmlsetpar", actions = lxml.setpar, arguments = "3 strings" }
-implement { name = "xmlsetparam", actions = lxml.setparam, arguments = "4 strings" }
-implement { name = "xmlsetsetup", actions = lxml.setsetup, arguments = "3 strings" }
-implement { name = "xmlsnippet", actions = lxml.snippet, arguments = "2 strings" }
-implement { name = "xmlstrip", actions = lxml.strip, arguments = "2 strings" }
-implement { name = "xmlstripanywhere", actions = lxml.strip, arguments = { "string", "string", true, true } }
-implement { name = "xmlstripnolines", actions = lxml.strip, arguments = { "string", "string", true } }
-implement { name = "xmlstripped", actions = lxml.stripped, arguments = "2 strings" }
-implement { name = "xmlstrippednolines", actions = lxml.stripped, arguments = { "string", "string", true } }
-implement { name = "xmltag", actions = lxml.tag, arguments = "string" }
-implement { name = "xmltext", actions = lxml.text, arguments = "2 strings" }
-implement { name = "xmltobuffer", actions = lxml.tobuffer, arguments = "3 strings" }
-implement { name = "xmltobuffertextonly", actions = lxml.tobuffer, arguments = { "string", "string", "string", false } }
-implement { name = "xmltobufferverbose", actions = lxml.tobuffer, arguments = { "string", "string", "string", true, true } }
-implement { name = "xmltofile", actions = lxml.tofile, arguments = "3 strings" }
-implement { name = "xmltoparameters", actions = lxml.toparameters, arguments = "string" }
-implement { name = "xmlverbatim", actions = lxml.verbatim, arguments = "string" }
-
-implement { name = "xmlstartraw", actions = lxml.startraw }
-implement { name = "xmlstopraw", actions = lxml.stopraw }
-
-implement { name = "xmlprependsetup", actions = lxml.installsetup, arguments = { 1, "string", "string" } } -- 2:*
-implement { name = "xmlappendsetup", actions = lxml.installsetup, arguments = { 2, "string", "string" } } -- 2:*
-implement { name = "xmlbeforesetup", actions = lxml.installsetup, arguments = { 3, "string", "string", "string" } } -- 2:*
-implement { name = "xmlaftersetup", actions = lxml.installsetup, arguments = { 4, "string", "string", "string" } } -- 2:*
-implement { name = "xmlremovesetup", actions = lxml.removesetup, arguments = "2 strings" } -- 1:*
-implement { name = "xmlflushsetups", actions = lxml.flushsetups, arguments = "3 strings" } -- 2:*
-implement { name = "xmlresetsetups", actions = lxml.resetsetups, arguments = "string" }
+implement { name = "lxmlid", public = true, actions = lxml.getid, arguments = "string" }
+
+implement { name = "xmldoif", public = true, actions = lxml.doif, arguments = "2 strings" }
+implement { name = "xmldoifnot", public = true, actions = lxml.doifnot, arguments = "2 strings" }
+implement { name = "xmldoifelse", public = true, actions = lxml.doifelse, arguments = "2 strings" }
+implement { name = "xmldoiftext", public = true, actions = lxml.doiftext, arguments = "2 strings" }
+implement { name = "xmldoifnottext", public = true, actions = lxml.doifnottext, arguments = "2 strings" }
+implement { name = "xmldoifelsetext", public = true, actions = lxml.doifelsetext, arguments = "2 strings" }
+
+implement { name = "xmldoifempty", public = true, actions = lxml.doifempty, arguments = "2 strings" }
+implement { name = "xmldoifnotempty", public = true, actions = lxml.doifnotempty, arguments = "2 strings" }
+implement { name = "xmldoifelseempty", public = true, actions = lxml.doifelseempty, arguments = "2 strings" }
+implement { name = "xmldoifselfempty", public = true, actions = lxml.doifempty, arguments = "string" } -- second arg is not passed (used)
+implement { name = "xmldoifnotselfempty", public = true, actions = lxml.doifnotempty, arguments = "string" } -- second arg is not passed (used)
+implement { name = "xmldoifelseselfempty", public = true, actions = lxml.doifelseempty, arguments = "string" } -- second arg is not passed (used)
+
+--------- { name = "xmlcontent", actions = lxml.content, arguments = "string" }
+--------- { name = "xmlflushstripped", actions = lxml.strip, arguments = { "string", true } }
+
+implement { name = "xmlall", public = true, actions = lxml.all, arguments = "2 strings" }
+implement { name = "xmlatt", public = true, actions = lxml.att, arguments = "2 strings" }
+implement { name = "xmlattdef", public = true, actions = lxml.att, arguments = "3 strings" }
+implement { name = "xmlattribute", public = true, actions = lxml.attribute, arguments = "3 strings" }
+implement { name = "xmlattributedef", public = true, actions = lxml.attribute, arguments = "4 strings" }
+implement { name = "xmlbadinclusions", public = true, actions = lxml.badinclusions, arguments = "string" }
+implement { name = "xmlchainatt", public = true, actions = lxml.chainattribute, arguments = { "string", "'/'", "string" } }
+implement { name = "xmlchainattdef", public = true, actions = lxml.chainattribute, arguments = { "string", "'/'", "string", "string" } }
+implement { name = "xmlchecknamespace", public = true, actions = xml.checknamespace, arguments = { "lxmlid", "string", "string" } }
+implement { name = "xmlcommand", public = true, actions = lxml.command, arguments = "3 strings" }
+implement { name = "xmlconcat", actions = lxml.concat, arguments = "3 strings" } -- \detokenize{#3}
+implement { name = "xmlconcatrange", actions = lxml.concatrange, arguments = "5 strings" } -- \detokenize{#5}
+--------- { name = "xmlconcat", actions = lxml.concat, arguments = { "string", "string", "verbatim" } }
+--------- { name = "xmlconcatrange", actions = lxml.concatrange, arguments = { "string", "string", "string", "string", "verbatim" } }
+implement { name = "xmlcontext", public = true, actions = lxml.context, arguments = "2 strings" }
+implement { name = "xmlcount", public = true, actions = lxml.count, arguments = "2 strings" }
+implement { name = "xmldelete", public = true, actions = lxml.delete, arguments = "2 strings" }
+implement { name = "xmldirect", public = true, actions = lxml.direct, arguments = "string" }
+implement { name = "xmldirectives", public = true, actions = lxml.directives.setup, arguments = "string" }
+implement { name = "xmldirectivesafter", public = true, actions = lxml.directives.after, arguments = "string" }
+implement { name = "xmldirectivesbefore", public = true, actions = lxml.directives.before, arguments = "string" }
+implement { name = "xmldisplayverbatim", public = true, actions = lxml.displayverbatim, arguments = "string" }
+implement { name = "xmlelement", public = true, actions = lxml.element, arguments = "2 strings" } -- could be integer but now we can alias
+implement { name = "xmlfilter", public = true, actions = lxml.filter, arguments = "2 strings" }
+implement { name = "xmlfilterlist", public = true, actions = lxml.filterlist, arguments = "2 strings" }
+implement { name = "xmlfirst", public = true, actions = lxml.first, arguments = "2 strings" }
+implement { name = "xmlflush", public = true, actions = lxml.flush, arguments = "string" }
+implement { name = "xmlflushcontext", public = true, actions = lxml.context, arguments = "string" }
+implement { name = "xmlflushlinewise", public = true, actions = lxml.flushlinewise, arguments = "string" }
+implement { name = "xmlflushpure", public = true, actions = lxml.pure, arguments = "string" }
+implement { name = "xmlflushspacewise", public = true, actions = lxml.flushspacewise, arguments = "string" }
+implement { name = "xmlflushtext", public = true, actions = lxml.text, arguments = "string" }
+implement { name = "xmlfunction", public = true, actions = lxml.applyfunction, arguments = "2 strings" }
+implement { name = "xmlinclude", public = true, actions = lxml.include, arguments = { "string", "string", "string", true } }
+implement { name = "xmlincludeoptions", public = true, actions = lxml.include, arguments = "4 strings" }
+implement { name = "xmlinclusion", public = true, actions = lxml.inclusion, arguments = "string" }
+implement { name = "xmlinclusionbase", public = true, actions = lxml.inclusion, arguments = { "string", false, true } }
+implement { name = "xmlinclusions", public = true, actions = lxml.inclusions, arguments = "string" }
+implement { name = "xmlindex", public = true, actions = lxml.index, arguments = "3 strings" } -- can be integer but now we can alias
+implement { name = "xmlinlineverbatim", public = true, actions = lxml.inlineverbatim, arguments = "string" }
+implement { name = "xmllast", public = true, actions = lxml.last, arguments = "2 strings" }
+implement { name = "xmllastatt", public = true, actions = lxml.lastatt }
+implement { name = "xmllastmatch", public = true, actions = lxml.lastmatch }
+implement { name = "xmllastpar", public = true, actions = lxml.lastpar }
+implement { name = "xmlloadfile", actions = lxml.load, arguments = "3 strings" }
+implement { name = "xmlloadbuffer", actions = lxml.loadbuffer, arguments = "3 strings" }
+implement { name = "xmlloaddata", actions = lxml.loaddata, arguments = "3 strings" }
+implement { name = "xmlloaddirectives", public = true, actions = lxml.directives.load, arguments = "string" }
+implement { name = "xmlmain", public = true, actions = lxml.main, arguments = "string" }
+implement { name = "xmlmatch", public = true, actions = lxml.match, arguments = "string" }
+implement { name = "xmlname", public = true, actions = lxml.name, arguments = "string" }
+implement { name = "xmlnamespace", public = true, actions = lxml.namespace, arguments = "string" }
+implement { name = "xmlnonspace", public = true, actions = lxml.nonspace, arguments = "2 strings" }
+implement { name = "xmlpar", public = true, actions = lxml.par, arguments = "2 strings" }
+implement { name = "xmlparam", public = true, actions = lxml.param, arguments = "3 strings" }
+implement { name = "xmlpath", public = true, actions = lxml.path, arguments = { "string", "'/'" } }
+implement { name = "xmlpopmatch", public = true, actions = lxml.popmatch }
+implement { name = "xmlpos", public = true, actions = lxml.pos, arguments = "string" }
+implement { name = "xmlpure", public = true, actions = lxml.pure, arguments = "2 strings" }
+implement { name = "xmlpushmatch", public = true, actions = lxml.pushmatch }
+implement { name = "xmlraw", public = true, actions = lxml.raw, arguments = "2 strings" }
+implement { name = "xmlrawtex", actions = lxml.rawtex, arguments = "2 strings" }
+implement { name = "xmlrefatt", public = true, actions = lxml.refatt, arguments = "2 strings" }
+implement { name = "xmlregisterns", public = true, actions = xml.registerns, arguments = "2 strings" }
+implement { name = "xmlremapname", public = true, actions = xml.remapname, arguments = { "lxmlid", "string","string","string" } }
+implement { name = "xmlremapnamespace", public = true, actions = xml.renamespace, arguments = { "lxmlid", "string", "string" } }
+implement { name = "xmlsave", public = true, actions = lxml.save, arguments = "2 strings" }
+implement { name = "xmlsetatt", public = true, actions = lxml.setatt, arguments = "3 strings" }
+implement { name = "xmlsetattribute", public = true, actions = lxml.setattribute, arguments = "4 strings" }
+implement { name = "xmlsetpar", public = true, actions = lxml.setpar, arguments = "3 strings" }
+implement { name = "xmlsetparam", public = true, actions = lxml.setparam, arguments = "4 strings" }
+implement { name = "xmlsetsetup", public = true, actions = lxml.setsetup, arguments = "3 strings" }
+implement { name = "xmlsnippet", public = true, actions = lxml.snippet, arguments = "2 strings" }
+implement { name = "xmlstrip", public = true, actions = lxml.strip, arguments = "2 strings" }
+implement { name = "xmlstripanywhere", public = true, actions = lxml.strip, arguments = { "string", "string", true, true } }
+implement { name = "xmlstripnolines", public = true, actions = lxml.strip, arguments = { "string", "string", true } }
+implement { name = "xmlstripped", public = true, actions = lxml.stripped, arguments = "2 strings" }
+implement { name = "xmlstrippednolines", public = true, actions = lxml.stripped, arguments = { "string", "string", true } }
+implement { name = "xmltag", public = true, actions = lxml.tag, arguments = "string" }
+implement { name = "xmltext", public = true, actions = lxml.text, arguments = "2 strings" }
+implement { name = "xmltobuffer", public = true, actions = lxml.tobuffer, arguments = "3 strings" }
+implement { name = "xmltobuffertextonly", public = true, actions = lxml.tobuffer, arguments = { "string", "string", "string", false } }
+implement { name = "xmltobufferverbose", public = true, actions = lxml.tobuffer, arguments = { "string", "string", "string", true, true } }
+implement { name = "xmltofile", public = true, actions = lxml.tofile, arguments = "3 strings" }
+implement { name = "xmltoparameters", public = true, actions = lxml.toparameters, arguments = "string" }
+implement { name = "xmlverbatim", public = true, actions = lxml.verbatim, arguments = "string" }
+
+implement { name = "xmlstartraw", actions = lxml.startraw }
+implement { name = "xmlstopraw", actions = lxml.stopraw }
+
+implement { name = "xmlprependsetup", actions = lxml.installsetup, arguments = { 1, "string", "string" } } -- 2:*
+implement { name = "xmlappendsetup", actions = lxml.installsetup, arguments = { 2, "string", "string" } } -- 2:*
+implement { name = "xmlbeforesetup", actions = lxml.installsetup, arguments = { 3, "string", "string", "string" } } -- 2:*
+implement { name = "xmlaftersetup", actions = lxml.installsetup, arguments = { 4, "string", "string", "string" } } -- 2:*
+implement { name = "xmlremovesetup", actions = lxml.removesetup, arguments = "2 strings" } -- 1:*
+implement { name = "xmlflushsetups", actions = lxml.flushsetups, arguments = "3 strings" } -- 2:*
+implement { name = "xmlresetsetups", actions = lxml.resetsetups, arguments = "string" }
implement { name = "xmlgetindex", actions = lxml.getindex, arguments = "2 strings" }
implement { name = "xmlwithindex", actions = lxml.withindex, arguments = "3 strings" }
diff --git a/tex/context/base/mkiv/lxml-ini.mkiv b/tex/context/base/mkiv/lxml-ini.mkiv
index 09358e11c..1c7006f57 100644
--- a/tex/context/base/mkiv/lxml-ini.mkiv
+++ b/tex/context/base/mkiv/lxml-ini.mkiv
@@ -34,7 +34,7 @@
\def\ctxlxml #1{\ctxlua{lxml.#1}}
-% for now indirect
+% for now indirect .. this will change when we have updated luatex (scan_argument)
\def\xmlconcat #1#2#3{\clf_xmlconcat {#1}{#2}{\detokenize{#3}}}
\def\xmlconcatrange #1#2#3#4#5{\clf_xmlconcatrange{#1}{#2}{#3}{#4}{\detokenize{#5}}}
@@ -49,85 +49,86 @@
% aliased
-\let\xmlall \clf_xmlall
-\let\xmlatt \clf_xmlatt
-\let\xmlattdef \clf_xmlattdef
-\let\xmlattribute \clf_xmlattribute
-\let\xmlattributedef \clf_xmlattributedef
-\let\xmlbadinclusions \clf_xmlbadinclusions
-\let\xmlchainatt \clf_xmlchainatt
-\let\xmlchainattdef \clf_xmlchainattdef
-\let\xmlchecknamespace \clf_xmlchecknamespace
-\let\xmlcommand \clf_xmlcommand
-\let\xmlcontext \clf_xmlcontext
-\let\xmlcount \clf_xmlcount
-\let\xmldelete \clf_xmldelete
-\let\xmldirect \clf_xmldirect % in loops, not dt but root
-\let\xmldirectives \clf_xmldirectives
-\let\xmldirectivesafter \clf_xmldirectivesafter
-\let\xmldirectivesbefore \clf_xmldirectivesbefore
-\let\xmldisplayverbatim \clf_xmldisplayverbatim
-\let\xmlelement \clf_xmlelement
-\let\xmlfilter \clf_xmlfilter
-\let\xmlfilterlist \clf_xmlfilterlist
-\let\xmlfirst \clf_xmlfirst
-\let\xmlflush \clf_xmlflush
-\let\xmlflushcontext \clf_xmlflushcontext
-\let\xmlflushlinewise \clf_xmlflushlinewise
-\let\xmlflushpure \clf_xmlflushpure
-\let\xmlflushspacewise \clf_xmlflushspacewise
-\let\xmlflushtext \clf_xmlflushtext
-\let\xmlfunction \clf_xmlfunction
-\let\xmlinclude \clf_xmlinclude
-\let\xmlincludeoptions \clf_xmlincludeoptions
-\let\xmlinclusion \clf_xmlinclusion
-\let\xmlinclusionbase \clf_xmlinclusionbase
-\let\xmlinclusions \clf_xmlinclusions
-\let\xmlindex \clf_xmlindex
-\let\xmlinlineverbatim \clf_xmlinlineverbatim
-\let\xmllast \clf_xmllast
-\let\xmllastatt \clf_xmllastatt
-\let\xmllastmatch \clf_xmllastmatch
-\let\xmllastpar \clf_xmllastpar
-\let\xmlloaddirectives \clf_xmlloaddirectives
-\let\xmlmain \clf_xmlmain
-\let\xmlmatch \clf_xmlmatch
-\let\xmlname \clf_xmlname
-\let\xmlnamespace \clf_xmlnamespace
-\let\xmlnonspace \clf_xmlnonspace
-\let\xmlpar \clf_xmlpar
-\let\xmlparam \clf_xmlparam
-\let\xmlpath \clf_xmlpath
-\let\xmlpopmatch \clf_xmlpopmatch
-\let\xmlpos \clf_xmlpos
-\let\xmlposition \clf_xmlindex
-\let\xmlpure \clf_xmlpure
-\let\xmlpushmatch \clf_xmlpushmatch
-\let\xmlraw \clf_xmlraw
-\let\xmlrefatt \clf_xmlrefatt
-\let\xmlregisterns \clf_xmlregisterns % document
-\let\xmlremapname \clf_xmlremapname % element
-\let\xmlremapnamespace \clf_xmlremapnamespace % document
-\let\xmlsave \clf_xmlsave
-\let\xmlsetatt \clf_xmlsetatt
-\let\xmlsetattribute \clf_xmlsetattribute
-\let\xmlsetpar \clf_xmlsetpar
-\let\xmlsetparam \clf_xmlsetparam
-\let\xmlsetsetup \clf_xmlsetsetup
-\let\xmlsnippet \clf_xmlsnippet
-\let\xmlstrip \clf_xmlstrip
-\let\xmlstripanywhere \clf_xmlstripanywhere
-\let\xmlstripnolines \clf_xmlstripnolines
-\let\xmlstripped \clf_xmlstripped
-\let\xmlstrippednolines \clf_xmlstrippednolines
-\let\xmltag \clf_xmltag
-\let\xmltext \clf_xmltext
-\let\xmltobuffer \clf_xmltobuffer % id pattern name
-\let\xmltobuffertextonly \clf_xmltobuffertextonly % id pattern name
-\let\xmltobufferverbose \clf_xmltobufferverbose % id pattern name
-\let\xmltofile \clf_xmltofile % id pattern filename
-\let\xmltoparameters \clf_xmltoparameters
-\let\xmlverbatim \clf_xmlverbatim
+%let\xmlall \clf_xmlall
+%let\xmlatt \clf_xmlatt
+%let\xmlattdef \clf_xmlattdef
+%let\xmlattribute \clf_xmlattribute
+%let\xmlattributedef \clf_xmlattributedef
+%let\xmlbadinclusions \clf_xmlbadinclusions
+%let\xmlchainatt \clf_xmlchainatt
+%let\xmlchainattdef \clf_xmlchainattdef
+%let\xmlchecknamespace \clf_xmlchecknamespace
+%let\xmlcommand \clf_xmlcommand
+%let\xmlcontext \clf_xmlcontext
+%let\xmlcount \clf_xmlcount
+%let\xmldelete \clf_xmldelete
+%let\xmldirect \clf_xmldirect % in loops, not dt but root
+%let\xmldirectives \clf_xmldirectives
+%let\xmldirectivesafter \clf_xmldirectivesafter
+%let\xmldirectivesbefore \clf_xmldirectivesbefore
+%let\xmldisplayverbatim \clf_xmldisplayverbatim
+%let\xmlelement \clf_xmlelement
+%let\xmlfilter \clf_xmlfilter
+%let\xmlfilterlist \clf_xmlfilterlist
+%let\xmlfirst \clf_xmlfirst
+%let\xmlflush \clf_xmlflush
+%let\xmlflushcontext \clf_xmlflushcontext
+%let\xmlflushlinewise \clf_xmlflushlinewise
+%let\xmlflushpure \clf_xmlflushpure
+%let\xmlflushspacewise \clf_xmlflushspacewise
+%let\xmlflushtext \clf_xmlflushtext
+%let\xmlfunction \clf_xmlfunction
+%let\xmlinclude \clf_xmlinclude
+%let\xmlincludeoptions \clf_xmlincludeoptions
+%let\xmlinclusion \clf_xmlinclusion
+%let\xmlinclusionbase \clf_xmlinclusionbase
+%let\xmlinclusions \clf_xmlinclusions
+%let\xmlindex \clf_xmlindex
+%let\xmlinlineverbatim \clf_xmlinlineverbatim
+%let\xmllast \clf_xmllast
+%let\xmllastatt \clf_xmllastatt
+%let\xmllastmatch \clf_xmllastmatch
+%let\xmllastpar \clf_xmllastpar
+%let\xmlloaddirectives \clf_xmlloaddirectives
+%let\xmlmain \clf_xmlmain
+%let\xmlmatch \clf_xmlmatch
+%let\xmlname \clf_xmlname
+%let\xmlnamespace \clf_xmlnamespace
+%let\xmlnonspace \clf_xmlnonspace
+%let\xmlpar \clf_xmlpar
+%let\xmlparam \clf_xmlparam
+%let\xmlpath \clf_xmlpath
+%let\xmlpopmatch \clf_xmlpopmatch
+%let\xmlpos \clf_xmlpos
+%let\xmlpure \clf_xmlpure
+%let\xmlpushmatch \clf_xmlpushmatch
+%let\xmlraw \clf_xmlraw
+%let\xmlrefatt \clf_xmlrefatt
+%let\xmlregisterns \clf_xmlregisterns % document
+%let\xmlremapname \clf_xmlremapname % element
+%let\xmlremapnamespace \clf_xmlremapnamespace % document
+%let\xmlsave \clf_xmlsave
+%let\xmlsetatt \clf_xmlsetatt
+%let\xmlsetattribute \clf_xmlsetattribute
+%let\xmlsetpar \clf_xmlsetpar
+%let\xmlsetparam \clf_xmlsetparam
+%let\xmlsetsetup \clf_xmlsetsetup
+%let\xmlsnippet \clf_xmlsnippet
+%let\xmlstrip \clf_xmlstrip
+%let\xmlstripanywhere \clf_xmlstripanywhere
+%let\xmlstripnolines \clf_xmlstripnolines
+%let\xmlstripped \clf_xmlstripped
+%let\xmlstrippednolines \clf_xmlstrippednolines
+%let\xmltag \clf_xmltag
+%let\xmltext \clf_xmltext
+%let\xmltobuffer \clf_xmltobuffer % id pattern name
+%let\xmltobuffertextonly \clf_xmltobuffertextonly % id pattern name
+%let\xmltobufferverbose \clf_xmltobufferverbose % id pattern name
+%let\xmltofile \clf_xmltofile % id pattern filename
+%let\xmltoparameters \clf_xmltoparameters
+%let\xmlverbatim \clf_xmlverbatim
+
+\let\xmlposition \xmlindex
\unexpanded\def\xmlinfo#1{\hbox{\ttxx[\clf_xmlname{#1}]}}
\unexpanded\def\xmlshow#1{\startpacked\ttx\xmlverbatim{#1}\stoppacked}
@@ -135,7 +136,7 @@
% the next one is handy for mode runs because it enforces a consistent
% #1 indexing (needed when using \xmltext{main:123}{...} like calls
-\let\xmladdindex \clf_xmladdindex
+%let\xmladdindex \clf_xmladdindex
% we need to pass the last argument as function, so
@@ -185,23 +186,23 @@
% these are expandable! todo: \xmldoifelseattribute
-\let\xmldoif \clf_xmldoif
-\let\xmldoifnot \clf_xmldoifnot
-\let\xmldoifelse \clf_xmldoifelse
-\let\xmldoiftext \clf_xmldoiftext
-\let\xmldoifnottext \clf_xmldoifnottext
-\let\xmldoifelsetext \clf_xmldoifelsetext
-
-\let\xmldoifatt \clf_xmldoifatt
-\let\xmldoifnotatt \clf_xmldoifnotatt
-\let\xmldoifelseatt \clf_xmldoifelseatt
-
-\let\xmldoifempty \clf_xmldoifempty
-\let\xmldoifnotempty \clf_xmldoifnotempty
-\let\xmldoifelseempty \clf_xmldoifelseempty
-\let\xmldoifselfempty \clf_xmldoifselfempty
-\let\xmldoifnotselfempty \clf_xmldoifnotselfempty
-\let\xmldoifelseselfempty \clf_xmldoifelseselfempty
+%let\xmldoif \clf_xmldoif
+%let\xmldoifnot \clf_xmldoifnot
+%let\xmldoifelse \clf_xmldoifelse
+%let\xmldoiftext \clf_xmldoiftext
+%let\xmldoifnottext \clf_xmldoifnottext
+%let\xmldoifelsetext \clf_xmldoifelsetext
+
+%let\xmldoifatt \clf_xmldoifatt
+%let\xmldoifnotatt \clf_xmldoifnotatt
+%let\xmldoifelseatt \clf_xmldoifelseatt
+
+%let\xmldoifempty \clf_xmldoifempty
+%let\xmldoifnotempty \clf_xmldoifnotempty
+%let\xmldoifelseempty \clf_xmldoifelseempty
+%let\xmldoifselfempty \clf_xmldoifselfempty
+%let\xmldoifnotselfempty \clf_xmldoifnotselfempty
+%let\xmldoifelseselfempty \clf_xmldoifelseselfempty
\let\xmldoiftextelse \xmldoifelsetext
\let\xmldoifemptyelse \xmldoifelseempty
diff --git a/tex/context/base/mkiv/lxml-tex.lua b/tex/context/base/mkiv/lxml-tex.lua
index 9ab8cafc6..079ab29da 100644
--- a/tex/context/base/mkiv/lxml-tex.lua
+++ b/tex/context/base/mkiv/lxml-tex.lua
@@ -472,6 +472,7 @@ lxml.addindex = addindex
implement {
name = "xmladdindex",
arguments = "string",
+ public = true,
actions = addindex,
}
@@ -2070,7 +2071,8 @@ do
implement {
name = "xmldoifatt",
arguments = "3 strings",
- actions = function(id,k,v)
+ public = true,
+ actions = function(id,k,v)
local e = getid(id)
ctx_doif(e and e.at[k] == v or false)
end
@@ -2079,7 +2081,8 @@ do
implement {
name = "xmldoifnotatt",
arguments = "3 strings",
- actions = function(id,k,v)
+ public = true,
+ actions = function(id,k,v)
local e = getid(id)
ctx_doifnot(e and e.at[k] == v or false)
end
@@ -2088,7 +2091,8 @@ do
implement {
name = "xmldoifelseatt",
arguments = "3 strings",
- actions = function(id,k,v)
+ public = true,
+ actions = function(id,k,v)
local e = getid(id)
ctx_doifelse(e and e.at[k] == v or false)
end
diff --git a/tex/context/base/mkiv/math-ali.mkiv b/tex/context/base/mkiv/math-ali.mkiv
index 400326d26..7f210bb41 100644
--- a/tex/context/base/mkiv/math-ali.mkiv
+++ b/tex/context/base/mkiv/math-ali.mkiv
@@ -1012,12 +1012,12 @@
\let\mathmatrixleft \empty % experimental hook
\let\mathmatrixright\empty % experimental hook
-\setvalue{\??mathmatrixalignlocation\v!top }{\raise\dimexpr(\nextboxdp-\nextboxht)/2 +\mathaxisheight\textfont\zerocount\relax}
+\setvalue{\??mathmatrixalignlocation\v!top }{\raise\dimexpr(\nextboxdp-\nextboxht)/2 +\mathaxisheight\mathstyle\relax}
\setvalue{\??mathmatrixalignlocation\v!high }{\raise\dimexpr(\nextboxdp-\nextboxht)/2\relax}
\setvalue{\??mathmatrixalignlocation\v!center}{\relax}
\setvalue{\??mathmatrixalignlocation\v!lohi} {\relax}
\setvalue{\??mathmatrixalignlocation\v!normal}{\relax}
-\setvalue{\??mathmatrixalignlocation\v!bottom}{\lower\dimexpr(\nextboxdp-\nextboxht)/2 +\mathaxisheight\textfont\zerocount\relax}
+\setvalue{\??mathmatrixalignlocation\v!bottom}{\lower\dimexpr(\nextboxdp-\nextboxht)/2 +\mathaxisheight\mathstyle\relax}
\setvalue{\??mathmatrixalignlocation\v!low }{\lower\dimexpr(\nextboxdp-\nextboxht)/2\relax}
\def\math_matrix_finish_nextbox
diff --git a/tex/context/base/mkiv/mult-low.lua b/tex/context/base/mkiv/mult-low.lua
index 58202fa1a..16eb3e68b 100644
--- a/tex/context/base/mkiv/mult-low.lua
+++ b/tex/context/base/mkiv/mult-low.lua
@@ -90,7 +90,7 @@ return {
"fontexheight", "fontemwidth", "fontextraspace", "slantperpoint",
"mathexheight", "mathemwidth",
"interwordspace", "interwordstretch", "interwordshrink", "exheight", "emwidth", "extraspace",
- "mathsupdisplay", "mathsupnormal", "mathsupcramped", "mathsubnormal", "mathsubcombined", "mathaxisheight",
+ "mathaxisheight",
"muquad",
--
-- maybe a different class
diff --git a/tex/context/base/mkiv/pack-rul.mkxl b/tex/context/base/mkiv/pack-rul.mkxl
index 6268aad3e..97cb82968 100644
--- a/tex/context/base/mkiv/pack-rul.mkxl
+++ b/tex/context/base/mkiv/pack-rul.mkxl
@@ -469,29 +469,6 @@
{\def\pack_framed_define_overlay_indeed##1{\setvalue{\??overlay##1}{\executedefinedoverlay{##1}{#2}}}%
\processcommalist[#1]\pack_framed_define_overlay_indeed}
-% \unexpanded\def\executedefinedoverlay#1#2% we can share the definitions
-% {\bgroup % redundant grouping
-% \setbox\scratchbox\hbox\bgroup
-% \ifzeropt\d_framed_target_dp
-% \the\everyoverlay#2% saves wrapping (and lua call)
-% \else
-% \lower\d_framed_target_dp
-% \hbox{\the\everyoverlay#2}%
-% \fi
-% \egroup
-% \setlayoutcomponentattribute{\v!overlay:#1}%
-% \setbox\scratchbox\hpack \layoutcomponentboxattribute
-% {\kern -.5\dimexpr\wd\scratchbox-\d_framed_target_wd\relax % was \d_overlay_width
-% \raise-.5\dimexpr\ht\scratchbox-\d_framed_target_ht\relax % not \d_overlay_height !
-% \box\scratchbox}%
-% \wd\scratchbox\d_framed_target_wd
-% \ht\scratchbox\d_framed_target_ht
-% \dp\scratchbox\d_framed_target_dp
-% \box\scratchbox
-% \egroup}
-
-% 20191231: moved from cont-exp:
-
\unexpanded\def\executedefinedoverlay#1#2% we can share the definitions
{\bgroup % redundant grouping
\setlayoutcomponentattribute{\v!overlay:#1}%
@@ -507,13 +484,6 @@
%D \macros
%D {overlayfakebox}
-% \unexpanded\def\overlayfakebox
-% {\hpack
-% {\setbox\scratchbox\emptyhbox
-% \wd\scratchbox\d_overlay_width
-% \ht\scratchbox\d_overlay_height
-% \box\scratchbox}}
-
\unexpanded\def\overlayfakebox
{\hpack % redundant but needs testing
{\novrule
diff --git a/tex/context/base/mkiv/spac-flr.mkiv b/tex/context/base/mkiv/spac-flr.mkiv
index 4c3c0c042..a64171247 100644
--- a/tex/context/base/mkiv/spac-flr.mkiv
+++ b/tex/context/base/mkiv/spac-flr.mkiv
@@ -168,6 +168,23 @@
[\c!alternative=\v!space,
\c!distance=3\emwidth]
+% bonus:
+
+\definefiller
+ [dotfill]
+ [\c!symbol=\textperiod,
+ \c!style=\v!normal,
+ \c!method=\v!middle,
+ \c!width=.5\emwidth,
+ \c!leftmargin=.2\emwidth,
+ \c!rightmargin=.2\emwidth]
+
+\let\mathdotfill\dotfill
+
+\unexpanded\def\textdotfill{\filler[dotfill]}
+
+\unexpanded\def\dotfill{\mathortext\mathdotfill\textdotfill}
+
% maybe box -> symbol
\protect \endinput
diff --git a/tex/context/base/mkiv/status-files.pdf b/tex/context/base/mkiv/status-files.pdf
new file mode 100644
index 000000000..9ef6ddd19
--- /dev/null
+++ 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
new file mode 100644
index 000000000..e967a7798
--- /dev/null
+++ b/tex/context/base/mkiv/status-lua.pdf
Binary files differ
diff --git a/tex/context/base/mkiv/syst-aux.mkiv b/tex/context/base/mkiv/syst-aux.mkiv
index d268f2fb6..20716786d 100644
--- a/tex/context/base/mkiv/syst-aux.mkiv
+++ b/tex/context/base/mkiv/syst-aux.mkiv
@@ -4492,7 +4492,9 @@
\unexpanded\def\resetrecurselevel{\let\recurselevel\!!zerocount}
-\let\recurselevel\!!zerocount
+\let\recurselevel \!!zerocount
+\let\recurseaction\relax
+\let\recursestring\empty
% \appendtoks \resetrecurselevel \to \everydump
diff --git a/tex/context/base/mkiv/syst-aux.mkxl b/tex/context/base/mkiv/syst-aux.mkxl
index 8188577e6..956d43f89 100644
--- a/tex/context/base/mkiv/syst-aux.mkxl
+++ b/tex/context/base/mkiv/syst-aux.mkxl
@@ -2979,6 +2979,9 @@
\def\recursedepth{\the\outerrecurse}
\def\recurselevel{0}
+\let\recurseaction\relax
+\let\recursestring\empty
+
\let\syst_helpers_stepwise_next\relax
\unexpanded\def\syst_helpers_stepwise_recurse#1#2#3% from to step
@@ -3088,6 +3091,7 @@
\let\endofloop\donothing % maybe \syst_helpers_loop_end
+
\unexpanded\def\doloop#1%
{\global\advance\outerrecurse \plusone
\globalpushmacro\recurselevel
diff --git a/tex/context/base/mkiv/syst-fnt.mkiv b/tex/context/base/mkiv/syst-fnt.mkiv
index cacc5f517..764e486d2 100644
--- a/tex/context/base/mkiv/syst-fnt.mkiv
+++ b/tex/context/base/mkiv/syst-fnt.mkiv
@@ -31,12 +31,7 @@
\def\emwidth {\fontdimen\plussix \font}
\def\extraspace {\fontdimen\plusseven\font}
-\def\mathsupdisplay {\fontdimen13 } % to be remapped
-\def\mathsupnormal {\fontdimen14 } % to be remapped
-\def\mathsupcramped {\fontdimen15 } % to be remapped
-\def\mathsubnormal {\fontdimen16 } % to be remapped
-\def\mathsubcombined {\fontdimen17 } % to be remapped
-\def\mathaxisheight {\fontdimen22 } % to be remapped
+\def\mathaxisheight {\Umathaxis} % takes style
\def\currentspaceskip {\interwordspace\s!plus\interwordstretch\s!minus\interwordshrink\relax}
diff --git a/tex/context/base/mkiv/toks-ini.lua b/tex/context/base/mkiv/toks-ini.lua
index da5affa63..8fc60335e 100644
--- a/tex/context/base/mkiv/toks-ini.lua
+++ b/tex/context/base/mkiv/toks-ini.lua
@@ -192,7 +192,7 @@ tokens.scanners = { -- these expand
string = scan_string,
argument = scan_argument,
tokenlist = scan_tokenlist,
- verbatim = scan_verbatim,
+ verbatim = scan_verbatim, -- detokenize
code = scan_code,
tokencode = scan_token_code,
word = scan_word,
diff --git a/tex/context/base/mkiv/trac-vis.lua b/tex/context/base/mkiv/trac-vis.lua
index 760ba8726..f89043547 100644
--- a/tex/context/base/mkiv/trac-vis.lua
+++ b/tex/context/base/mkiv/trac-vis.lua
@@ -874,6 +874,7 @@ local ruledglue do
local userskip_code = gluecodes.userskip
local spaceskip_code = gluecodes.spaceskip
local xspaceskip_code = gluecodes.xspaceskip
+ local zerospaceskip_code = gluecodes.zerospaceskip or gluecodes.userskip
local leftskip_code = gluecodes.leftskip
local rightskip_code = gluecodes.rightskip
local parfillskip_code = gluecodes.parfillskip
@@ -914,6 +915,7 @@ local ruledglue do
[rightskip_code] = "RS",
[spaceskip_code] = "SP",
[xspaceskip_code] = "XS",
+ [zerospaceskip_code] = "ZS",
[parfillskip_code] = "PF",
[indentskip_code] = "IN",
[correctionskip_code] = "CS",
@@ -929,7 +931,7 @@ local ruledglue do
if info then
-- print("glue hit")
else
- if subtype == spaceskip_code or subtype == xspaceskip_code then
+ if subtype == spaceskip_code or subtype == xspaceskip_code or subtype == zerospaceskip_code then
info = sometext(amount,l_glue,c_space)
elseif subtype == leftskip_code or subtype == rightskip_code then
info = sometext(amount,l_glue,c_skip_a)
@@ -958,7 +960,7 @@ local ruledglue do
-- ruledspace = function(head,current,parent)
-- local subtype = getsubtype(current)
- -- if subtype == spaceskip_code or subtype == xspaceskip_code then
+ -- if subtype == spaceskip_code or subtype == xspaceskip_code or subtype == zerospaceskip_code then
-- local width = effectiveglue(current,parent)
-- local amount = formatters["%s:%0.3f"](tags[subtype] or "HS",width*pt_factor)
-- local info = g_cache_h[amount]
@@ -981,7 +983,7 @@ local ruledglue do
ruledspace = function(head,current,parent)
local subtype = getsubtype(current)
- if subtype == spaceskip_code or subtype == xspaceskip_code then -- not yet all space
+ if subtype == spaceskip_code or subtype == xspaceskip_code or subtype == zerospaceskip_code then -- not yet all space
local width = effectiveglue(current,parent)
local info
if subtype == spaceskip_code then
diff --git a/tex/context/base/mkiv/type-ini.mklx b/tex/context/base/mkiv/type-ini.mklx
index c710fbec5..1cb9bc2e5 100644
--- a/tex/context/base/mkiv/type-ini.mklx
+++ b/tex/context/base/mkiv/type-ini.mklx
@@ -90,6 +90,13 @@
\installmacrostack\typescriptmethod
\installmacrostack\typescriptstate
+%D When these are loaded it is possible to get spaces but the whole idea is to do
+%D that loading in vertical mode. Adding \type {\pushendofline} and \type
+%D {\popendofline} is an option but not watertight as it can still interfere, for
+%D instance work comments and leading spaces. Also, in horizontal mode it is likely
+%D that one is also grouped and loading bodyfonts grouped is a real bad idea.
+%D Ignoring all spaces is also not a solution. So, our verdict is: no catch.
+
\unexpanded\def\starttypescriptcollection
{\dosingleempty\font_typescripts_collection_start}
diff --git a/tex/generic/context/luatex/luatex-fonts-merged.lua b/tex/generic/context/luatex/luatex-fonts-merged.lua
index f2a2b7d9e..a1c027064 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-06-14 22:04
+-- merge date : 2020-06-17 18:56
do -- begin closure to overcome local limits and interference