summaryrefslogtreecommitdiff
path: root/tex/context/base
diff options
context:
space:
mode:
authorContext Git Mirror Bot <phg42.2a@gmail.com>2016-04-16 16:06:47 +0200
committerContext Git Mirror Bot <phg42.2a@gmail.com>2016-04-16 16:06:47 +0200
commita104570ad82618ffffc82ffea3f12c5bb0a35232 (patch)
treef58dd337722644cc179ed4865aa0c1d6ca8b1b7b /tex/context/base
parentdaff89c886893f6bf7d092e45b7f78d5395f6274 (diff)
downloadcontext-a104570ad82618ffffc82ffea3f12c5bb0a35232.tar.gz
2016-04-16 15:32:00
Diffstat (limited to 'tex/context/base')
-rw-r--r--tex/context/base/context-version.pdfbin4248 -> 4251 bytes
-rw-r--r--tex/context/base/mkiv/char-tex.lua2
-rw-r--r--tex/context/base/mkiv/cont-new.mkiv2
-rw-r--r--tex/context/base/mkiv/context-help.lmx4
-rw-r--r--tex/context/base/mkiv/context.mkiv2
-rw-r--r--tex/context/base/mkiv/font-con.lua5
-rw-r--r--tex/context/base/mkiv/font-dsp.lua2
-rw-r--r--tex/context/base/mkiv/font-fbk.lua3
-rw-r--r--tex/context/base/mkiv/font-map.lua89
-rw-r--r--tex/context/base/mkiv/font-mis.lua2
-rw-r--r--tex/context/base/mkiv/font-otd.lua2
-rw-r--r--tex/context/base/mkiv/font-otf.lua2
-rw-r--r--tex/context/base/mkiv/font-otl.lua2
-rw-r--r--tex/context/base/mkiv/font-ots.lua1
-rw-r--r--tex/context/base/mkiv/luat-run.lua5
-rw-r--r--tex/context/base/mkiv/mult-def.lua122
-rw-r--r--tex/context/base/mkiv/mult-ini.lua110
-rw-r--r--tex/context/base/mkiv/mult-ini.mkiv4
-rw-r--r--tex/context/base/mkiv/status-files.pdfbin9263 -> 9126 bytes
-rw-r--r--tex/context/base/mkiv/status-lua.pdfbin267880 -> 267904 bytes
-rw-r--r--tex/context/base/mkiv/trac-inf.lua2
-rw-r--r--tex/context/base/mkiv/typo-bld.lua9
22 files changed, 272 insertions, 98 deletions
diff --git a/tex/context/base/context-version.pdf b/tex/context/base/context-version.pdf
index da86faf6b..dcd95477a 100644
--- a/tex/context/base/context-version.pdf
+++ b/tex/context/base/context-version.pdf
Binary files differ
diff --git a/tex/context/base/mkiv/char-tex.lua b/tex/context/base/mkiv/char-tex.lua
index 562f9c8b8..60f324be2 100644
--- a/tex/context/base/mkiv/char-tex.lua
+++ b/tex/context/base/mkiv/char-tex.lua
@@ -792,7 +792,7 @@ local function overload(c,u,code,codes)
end
local t = nil
if n == 1 then
- t = u[1]
+ t = tonumber(u[1])
else
t = { }
for i=1,n do
diff --git a/tex/context/base/mkiv/cont-new.mkiv b/tex/context/base/mkiv/cont-new.mkiv
index 12e0c7057..c5b7003fc 100644
--- a/tex/context/base/mkiv/cont-new.mkiv
+++ b/tex/context/base/mkiv/cont-new.mkiv
@@ -11,7 +11,7 @@
%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
%C details.
-\newcontextversion{2016.04.13 16:46}
+\newcontextversion{2016.04.16 15:27}
%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-help.lmx b/tex/context/base/mkiv/context-help.lmx
index 5f5b5b20a..7d54fca4d 100644
--- a/tex/context/base/mkiv/context-help.lmx
+++ b/tex/context/base/mkiv/context-help.lmx
@@ -65,6 +65,10 @@
background-color: #C0C0C0 ;
color: black;
}
+ a.setuplisturl {
+ color: #000000 ;
+ text-decoration: underline ;
+ }
<?lua
if utilities and utilities.scite and utilities.scite.css then
p(utilities.scite.css())
diff --git a/tex/context/base/mkiv/context.mkiv b/tex/context/base/mkiv/context.mkiv
index b2043ced7..02f56afe0 100644
--- a/tex/context/base/mkiv/context.mkiv
+++ b/tex/context/base/mkiv/context.mkiv
@@ -39,7 +39,7 @@
%D up and the dependencies are more consistent.
\edef\contextformat {\jobname}
-\edef\contextversion{2016.04.13 16:46}
+\edef\contextversion{2016.04.16 15:27}
\edef\contextkind {beta}
%D For those who want to use this:
diff --git a/tex/context/base/mkiv/font-con.lua b/tex/context/base/mkiv/font-con.lua
index d08c61eac..f36f75077 100644
--- a/tex/context/base/mkiv/font-con.lua
+++ b/tex/context/base/mkiv/font-con.lua
@@ -63,8 +63,7 @@ constructors.keys = {
properties = {
encodingbytes = "number",
embedding = "number",
- cidinfo = {
- },
+ cidinfo = { },
format = "string",
fontname = "string",
fullname = "string",
@@ -683,7 +682,7 @@ function constructors.scale(tfmdata,specification)
chr.unicode = isunicode
chr.tounicode = tounicode(isunicode)
-- in luatex > 0.85 we can do this:
--- chr.tounicode = isunicode
+ -- chr.tounicode = isunicode
end
if hasquality then
-- we could move these calculations elsewhere (saves calculations)
diff --git a/tex/context/base/mkiv/font-dsp.lua b/tex/context/base/mkiv/font-dsp.lua
index 77ddea12b..14e816d5e 100644
--- a/tex/context/base/mkiv/font-dsp.lua
+++ b/tex/context/base/mkiv/font-dsp.lua
@@ -1147,7 +1147,7 @@ local function handlemark(f,fontdata,lookupid,lookupoffset,offset,glyphs,nofglyp
local b = basecoverage[i]
if components then
for c=1,#components do
- local classes = components[i]
+ local classes = components[c]
if classes then
for i=1,nofclasses do
local anchor = readanchor(f,classes[i])
diff --git a/tex/context/base/mkiv/font-fbk.lua b/tex/context/base/mkiv/font-fbk.lua
index 56f002558..9ef0706d2 100644
--- a/tex/context/base/mkiv/font-fbk.lua
+++ b/tex/context/base/mkiv/font-fbk.lua
@@ -46,6 +46,9 @@ local force_composed = false
local cache = { } -- we could make these weak
local fraction = 0.15 -- 30 units for lucida
+-- todo: we also need to update the feature hashes ... i'll do that when i'm in the mood
+-- and/or when i need it
+
local function composecharacters(tfmdata)
-- this assumes that slot 1 is self, there will be a proper self some day
local characters = tfmdata.characters
diff --git a/tex/context/base/mkiv/font-map.lua b/tex/context/base/mkiv/font-map.lua
index a91e5234f..ce84ca692 100644
--- a/tex/context/base/mkiv/font-map.lua
+++ b/tex/context/base/mkiv/font-map.lua
@@ -438,6 +438,95 @@ function mappings.addtounicode(data,filename,checklookups)
checklookups(data,missing,nofmissing)
end
-- todo: go lowercase
+
+ local unset = { }
+ for unic, glyph in next, descriptions do
+ if not glyph.unicode and glyph.class == "ligature" then
+ unset[unic] = glyph
+ end
+ end
+ if next(unset) then
+ local sequences = resources.sequences
+ local collected = { }
+ for i=1,#sequences do
+ local sequence = sequences[i]
+ if sequence.type == "gsub_ligature" then
+ local steps = sequence.steps
+ if steps then
+ local l = { }
+ local function traverse(p,k,v)
+ if k == "ligature" then
+ collected[v] = { unpack(l) }
+ else
+ table.insert(l,k)
+ for k, vv in next, v do
+ traverse(p,k,vv)
+ end
+ table.remove(l)
+ end
+ end
+ for i=1,#steps do
+ -- we actually had/have this in base mode
+ local coverage = steps[i].coverage
+ if coverage then
+ for k, v in next, coverage do
+ traverse(k,k,v)
+ end
+ end
+ end
+ end
+ end
+ end
+ if next(collected) then
+ while true do
+ local done = false
+ for k, v in next, collected do
+ for i=1,#v do
+ local vi = v[i]
+ if vi == k then
+ collected[k] = nil
+ unset[k] = nil
+ else
+ local c = collected[vi]
+ if c then
+ done = true
+ local t = { }
+ local n = i - 1
+ for j=1,n do
+ t[j] = t[j]
+ end
+ for j=1,#c do
+ n = n + 1
+ t[n] = c[j]
+ end
+ for j=i+1,#v do
+ n = n + 1
+ t[n] = t[j]
+ end
+ collected[k] = t
+ break
+ end
+ end
+ end
+ end
+ if not done then
+ break
+ end
+ end
+ local n = 0
+ for k, v in next, unset do
+ u = collected[k]
+ if u then
+ v.unicode = u
+ n = n + 1
+ end
+ end
+ if trace_mapping and n > 0 then
+ report_fonts("%n ligature tounicode mappings deduced from gsub ligature feaures",n)
+ end
+ end
+ end
+
if trace_mapping then
for unic, glyph in table.sortedhash(descriptions) do
local name = glyph.name
diff --git a/tex/context/base/mkiv/font-mis.lua b/tex/context/base/mkiv/font-mis.lua
index 7d73b457e..9d9c39c58 100644
--- a/tex/context/base/mkiv/font-mis.lua
+++ b/tex/context/base/mkiv/font-mis.lua
@@ -22,7 +22,7 @@ local handlers = fonts.handlers
handlers.otf = handlers.otf or { }
local otf = handlers.otf
-otf.version = otf.version or 2.823
+otf.version = otf.version or 2.824
otf.cache = otf.cache or containers.define("fonts", "otf", otf.version, true)
local fontloader = fontloader
diff --git a/tex/context/base/mkiv/font-otd.lua b/tex/context/base/mkiv/font-otd.lua
index db041c722..2257caa8c 100644
--- a/tex/context/base/mkiv/font-otd.lua
+++ b/tex/context/base/mkiv/font-otd.lua
@@ -133,6 +133,8 @@ local wildcard = "*"
-- what about analyze in local and not in font
+-- needs checking: some added features can pass twice
+
local function initialize(sequence,script,language,s_enabled,a_enabled,font,attr,dynamic,ra,autoscript,autolanguage)
local features = sequence.features
if features then
diff --git a/tex/context/base/mkiv/font-otf.lua b/tex/context/base/mkiv/font-otf.lua
index e71a57cbe..cbdc79678 100644
--- a/tex/context/base/mkiv/font-otf.lua
+++ b/tex/context/base/mkiv/font-otf.lua
@@ -58,7 +58,7 @@ local otf = fonts.handlers.otf
otf.glists = { "gsub", "gpos" }
-otf.version = 2.823 -- beware: also sync font-mis.lua and in mtx-fonts
+otf.version = 2.824 -- beware: also sync font-mis.lua and in mtx-fonts
otf.cache = containers.define("fonts", "otf", otf.version, true)
local hashes = fonts.hashes
diff --git a/tex/context/base/mkiv/font-otl.lua b/tex/context/base/mkiv/font-otl.lua
index 0deb4bce0..210abfe48 100644
--- a/tex/context/base/mkiv/font-otl.lua
+++ b/tex/context/base/mkiv/font-otl.lua
@@ -53,7 +53,7 @@ local report_otf = logs.reporter("fonts","otf loading")
local fonts = fonts
local otf = fonts.handlers.otf
-otf.version = 3.016 -- beware: also sync font-mis.lua and in mtx-fonts
+otf.version = 3.017 -- beware: also sync font-mis.lua and in mtx-fonts
otf.cache = containers.define("fonts", "otl", otf.version, true)
local otfreaders = otf.readers
diff --git a/tex/context/base/mkiv/font-ots.lua b/tex/context/base/mkiv/font-ots.lua
index d67db6dd6..2e648c0c8 100644
--- a/tex/context/base/mkiv/font-ots.lua
+++ b/tex/context/base/mkiv/font-ots.lua
@@ -2385,7 +2385,6 @@ local function handle_contextchain(head,start,dataset,sequence,contexts,rlmode)
end
break
end
- current = getnext(current)
elseif char == false then
if discfound then
notmatchreplace[discfound] = true
diff --git a/tex/context/base/mkiv/luat-run.lua b/tex/context/base/mkiv/luat-run.lua
index 54450b28d..7e81350f0 100644
--- a/tex/context/base/mkiv/luat-run.lua
+++ b/tex/context/base/mkiv/luat-run.lua
@@ -25,9 +25,11 @@ local luatex = luatex
local startactions = { }
local stopactions = { }
+local dumpactions = { }
function luatex.registerstartactions(...) insert(startactions, ...) end
function luatex.registerstopactions (...) insert(stopactions, ...) end
+function luatex.registerdumpactions (...) insert(dumpactions, ...) end
local function start_run()
if logs.start_run then
@@ -76,6 +78,9 @@ end
-- end
local function pre_dump_actions()
+ for i=1,#dumpactions do
+ dumpactions[i]()
+ end
lua.finalize(trace_lua_dump and report_lua or nil)
-- statistics.savefmtstatus("\jobname","\contextversion","context.tex")
end
diff --git a/tex/context/base/mkiv/mult-def.lua b/tex/context/base/mkiv/mult-def.lua
index 24c602729..332f3d230 100644
--- a/tex/context/base/mkiv/mult-def.lua
+++ b/tex/context/base/mkiv/mult-def.lua
@@ -17200,6 +17200,15 @@ return {
["nl"]="naam",
["ro"]="csname",
},
+ ["cd:delimiter"]={
+ ["cs"]="delimiter",
+ ["de"]="delimiter",
+ ["en"]="delimiter",
+ ["fr"]="delimiter",
+ ["it"]="delimiter",
+ ["nl"]="delimiter",
+ ["ro"]="delimiter",
+ },
["cd:destination"]={
["cs"]="destination",
["de"]="destination",
@@ -17623,52 +17632,71 @@ return {
["nl"]="xmlsetup",
["ro"]="xmlsetup",
},
- ["s:sign"] = { en = "[-+]" },
- ["s:noargument"] = { en = "\\..." },
- ["s:oneargument"] = { en = "\\...#1" },
- ["s:twoarguments"] = { en = "\\...#1#2" },
- ["s:threearguments"] = { en = "\\...#1#2#3" },
- ["s:braces"] = { en = "{...}" },
- ["l:braces"] = { en = "{...,...}" },
- ["s:brackets"] = { en = "[...]" },
- ["l:brackets"] = { en = "[...,...]" },
- ["s:index"] = { en = "[...]" },
- ["l:index"] = { en = "[..+...+..]" },
- ["s:math"] = { en = "$...$" },
- ["s:inlinemath"] = { en = "$...$" },
- ["s:displaymath"] = { en = "$$...$$" },
- ["s:template"] = { en = "[|...|]" },
- ["l:template"] = { en = "[|...|...|]" },
- ["s:twowords"] = { en = "[..+..]" },
- ["s:threewords"] = { en = "[..+..+..]" },
- ["s:angle"] = { en = "<<...>>" },
- ["s:reference"] = { en = "[...]" },
- ["l:reference"] = { en = "[...,...]" },
- ["s:position"] = { en = "(...)" },
- ["l:position"] = { en = "(...,...)" },
- ["s:triplet"] = { en = "[x:y:z=]" },
- ["l:triplet"] = { en = "[x:y:z=,..]" },
- ["s:word"] = { en = "{...}" },
- ["l:word"] = { en = "{.. ... ..}" },
- ["s:content"] = { en = "{...}" },
- ["l:content"] = { en = "{.. ... ..}" },
- ["s:textual"] = { en = "..." },
- ["l:textual"] = { en = ".. ... .." },
- ["s:none"] = { en = "..." },
- ["l:none"] = { en = ".. ... .." },
- ["s:macro"] = { en = "\\... " },
- ["s:to"] = { en = "\\to " },
- ["s:destination"] = { en = "[{..[ref]}]" },
- ["l:destination"] = { en = "[..,{..[ref,..]},..]" },
- ["s:nothing"] = { en = "..." },
- ["s:file"] = { en = " ... " },
- ["s:bracedassignment"] = { en = "{..=..}" },
- ["l:bracedassignment"] = { en = "{..,..=..,..}" },
- ["s:bracketedassignment"] = { en = "[..=..]" },
- ["l:bracketedassignment"] = { en = "[..,..=..,..]" },
- ["s:parenthesizedassignment"] = { en = "[..=..]" },
- ["l:parenthesizedassignment"] = { en = "[..,..=..,..]" },
- ["s:apply"] = { en = "[..=>..]" },
- ["l:apply"] = { en = "[..,..=>..,..]" },
+ ["cd:sign-s"] = { en = "[-+]" },
+ ["cd:sign-l"] = { en = "[-+]" },
+ ["cd:csname-s"] = { en = "\\..." },
+ ["cd:csname-l"] = { en = "\\..." },
+ ["cd:noargument-s"] = { en = "\\..." },
+ ["cd:noargument-l"] = { en = "\\..." },
+ ["cd:oneargument-s"] = { en = "\\...#1" },
+ ["cd:oneargument-l"] = { en = "\\...#1" },
+ ["cd:twoarguments-s"] = { en = "\\...#1#2" },
+ ["cd:twoarguments-l"] = { en = "\\...#1#2" },
+ ["cd:threearguments-s"] = { en = "\\...#1#2#3" },
+ ["cd:threearguments-l"] = { en = "\\...#1#2#3" },
+ ["cd:braces-s"] = { en = "{...}", lua = '"..."' },
+ ["cd:braces-l"] = { en = "{...,...}", lua = '".. ... .."' },
+ ["cd:brackets-s"] = { en = "[...]", lua = "{ ... }" },
+ ["cd:brackets-l"] = { en = "[...,...]", lua = "{..., ...}" },
+ ["cd:index-s"] = { en = "[...]" },
+ ["cd:index-l"] = { en = "[..+...+..]" },
+ ["cd:math-s"] = { en = "$...$" },
+ ["cd:math-l"] = { en = "$...$" },
+ ["cd:inlinemath-s"] = { en = "$...$" },
+ ["cd:inlinemath-l"] = { en = "$...$" },
+ ["cd:displaymath-s"] = { en = "$$...$$" },
+ ["cd:displaymath-l"] = { en = "$$...$$" },
+ ["cd:template-s"] = { en = "[|...|]" },
+ ["cd:template-l"] = { en = "[|...|...|]" },
+ ["cd:twowords-s"] = { en = "[..+..]" },
+ ["cd:twowords-l"] = { en = "[..+..]" },
+ ["cd:threewords-s"] = { en = "[..+..+..]" },
+ ["cd:threewords-l"] = { en = "[..+..+..]" },
+ ["cd:angle-s"] = { en = "<<...>>" },
+ ["cd:angle-l"] = { en = "<<...>>" },
+ ["cd:reference-s"] = { en = "[...]", lua = "{ ... }" },
+ ["cd:reference-l"] = { en = "[...,...]", lua = "{..., ...}" },
+ ["cd:position-s"] = { en = "(...)" },
+ ["cd:position-l"] = { en = "(...,...)" },
+ ["cd:triplet-s"] = { en = "[x:y:z]" },
+ ["cd:triplet-l"] = { en = "[x:y:z,..]" },
+ ["cd:word-s"] = { en = "{...}", lua = '"..."' },
+ ["cd:word-l"] = { en = "{.. ... ..}", lua = '".. ... .."' },
+ ["cd:content-s"] = { en = "{...}", lua = '"..."' },
+ ["cd:content-l"] = { en = "{.. ... ..}", lua = '".. ... .."' },
+ ["cd:textual-s"] = { en = "..." },
+ ["cd:textual-l"] = { en = ".. ... .." },
+ ["cd:none-s"] = { en = "..." },
+ ["cd:none-l"] = { en = ".. ... .." },
+ ["cd:macro-s"] = { en = "\\... " },
+ ["cd:macro-l"] = { en = "\\... " },
+ ["cd:to-s"] = { en = "\\to " },
+ ["cd:to-l"] = { en = "\\to " },
+ ["cd:destination-s"] = { en = "[{..[ref]}]" },
+ ["cd:destination-l"] = { en = "[..,{..[ref,..]},..]" },
+ ["cd:nothing-s"] = { en = "..." },
+ ["cd:nothing-l"] = { en = "..." },
+ ["cd:file-s"] = { en = " ... " },
+ ["cd:file-l"] = { en = " ... " },
+ ["cd:assignment-s"] = { en = "[..=..]", lua = "{ ..=.. } " },
+ ["cd:assignment-l"] = { en = "[..,..=..,..]", lua = "{ ..,..=..,.. } " },
+ ["cd:assignmentbraces-s"] = { en = "{..=..}" },
+ ["cd:assignmentbraces-l"] = { en = "{..,..=..,..}" },
+ ["cd:assignmentbrackets-s"] = { en = "[..=..]", lua = "{ ..=.. } " },
+ ["cd:assignmentbrackets-l"] = { en = "[..,..=..,..]", lua = "{ ..,..=..,.. } " },
+ ["cd:assignmentparentheses-s"] = { en = "(..=..)" },
+ ["cd:assignmentparentheses-l"] = { en = "(..,..=..,..)" },
+ ["cd:apply-s"] = { en = "[..=>..]" },
+ ["cd:apply-l"] = { en = "[..,..=>..,..]" },
}
}
diff --git a/tex/context/base/mkiv/mult-ini.lua b/tex/context/base/mkiv/mult-ini.lua
index 3fb5416ba..409c735b7 100644
--- a/tex/context/base/mkiv/mult-ini.lua
+++ b/tex/context/base/mkiv/mult-ini.lua
@@ -215,6 +215,8 @@ function interfaces.setuserinterface(interface,response)
sharedstorage.currentinterface, currentinterface = interface, interface
sharedstorage.currentresponse, currentresponse = response, response
if environment.initex then
+ local setmacro = false
+ -- local setmacro = interfaces.setmacro -- cleaner (but we need to test first)
local nofconstants = 0
local nofvariables = 0
local nofelements = 0
@@ -222,49 +224,91 @@ function interfaces.setuserinterface(interface,response)
local nofformats = 0
local noftranslations = 0
local nofsetupstrings = 0
- local t, n, f, s
--
- t, n, f, s = { }, 0, formatters["\\ui_c{%s}{%s}"], formatters["\\ui_s{%s}"]
- for given, constant in next, complete.constants do
- constant = constant[interface] or constant.en or given
- constants[constant] = given -- breedte -> width
- nofconstants = nofconstants + 1
- if given == constant then
- t[nofconstants] = s(given)
- else
- t[nofconstants] = f(given,constant)
+ if setmacro then
+ for given, constant in next, complete.constants do
+ constant = constant[interface] or constant.en or given
+ constants[constant] = given -- breedte -> width
+ nofconstants = nofconstants + 1
+ setmacro("c!"..given,given)
+ if currentinterface ~= "en" then
+ setmacro("k!"..constant,given)
+ end
+ end
+ else
+ local t, f, s = { }, formatters["\\ui_c{%s}{%s}"], formatters["\\ui_s{%s}"]
+ for given, constant in next, complete.constants do
+ constant = constant[interface] or constant.en or given
+ constants[constant] = given -- breedte -> width
+ nofconstants = nofconstants + 1
+ if given == constant then
+ t[nofconstants] = s(given)
+ else
+ t[nofconstants] = f(given,constant)
+ end
end
+ contextsprint(prtcatcodes,concat(t))
end
- contextsprint(prtcatcodes,concat(t))
--
- t, n, f = { }, 0, formatters["\\ui_v{%s}{%s}"]
- for given, variable in next, complete.variables do
- variable = variable[interface] or variable.en or given
- variables[given] = variable -- ja -> yes
- nofvariables = nofvariables + 1
- t[nofvariables] = f(given,variable)
+ if setmacro then
+ for given, variable in next, complete.variables do
+ variable = variable[interface] or variable.en or given
+ variables[given] = variable -- ja -> yes
+ nofvariables = nofvariables + 1
+ setmacro("v!"..given,variable)
+ end
+ else
+ local t, f = { }, formatters["\\ui_v{%s}{%s}"]
+ for given, variable in next, complete.variables do
+ variable = variable[interface] or variable.en or given
+ variables[given] = variable -- ja -> yes
+ nofvariables = nofvariables + 1
+ t[nofvariables] = f(given,variable)
+ end
+ contextsprint(prtcatcodes,concat(t))
end
- contextsprint(prtcatcodes,concat(t))
--
- t, n, f = { }, 0, formatters["\\ui_e{%s}{%s}"]
- for given, element in next, complete.elements do
- element = element[interface] or element.en or given
- elements[element] = given
- nofelements = nofelements + 1
- t[nofelements] = f(given,element)
+ if setmacro then
+ for given, element in next, complete.elements do
+ element = element[interface] or element.en or given
+ elements[element] = given
+ nofelements = nofelements + 1
+ setmacro("e!"..given,element)
+ end
+ else
+ local t, f = { }, formatters["\\ui_e{%s}{%s}"]
+ for given, element in next, complete.elements do
+ element = element[interface] or element.en or given
+ elements[element] = given
+ nofelements = nofelements + 1
+ t[nofelements] = f(given,element)
+ end
+ contextsprint(prtcatcodes,concat(t))
end
- contextsprint(prtcatcodes,concat(t))
--
- t, n, f = { }, 0, formatters["\\ui_m{%s}{%s}"]
- for given, command in next, complete.commands do
- command = command[interface] or command.en or given
- if command ~= given then
- n = n + 1
- t[n] = f(given,command)
+ if setmacro then
+ -- this can only work ok when we already have defined the command
+ luatex.registerdumpactions(function()
+ for given, command in next, complete.commands do
+ command = command[interface] or command.en or given
+ if command ~= given then
+ setmacro(prtcatcodes,given,"\\"..command)
+ end
+ nofcommands = nofcommands + 1
+ end
+ end)
+ else
+ local t, n, f = { }, 0, formatters["\\ui_m{%s}{%s}"]
+ for given, command in next, complete.commands do
+ command = command[interface] or command.en or given
+ if command ~= given then
+ n = n + 1
+ t[n] = f(given,command)
+ end
+ nofcommands = nofcommands + 1
end
- nofcommands = nofcommands + 1
+ contextsprint(prtcatcodes,concat(t))
end
- contextsprint(prtcatcodes,concat(t))
--
for given, format in next, complete.messages.formats do
formats[given] = format[interface] or format.en or given
diff --git a/tex/context/base/mkiv/mult-ini.mkiv b/tex/context/base/mkiv/mult-ini.mkiv
index 8675834a5..8ed147c63 100644
--- a/tex/context/base/mkiv/mult-ini.mkiv
+++ b/tex/context/base/mkiv/mult-ini.mkiv
@@ -804,9 +804,9 @@
% \stopinterface
\def\ui_c#1#2{\expandafter\gdef\csname\c!prefix!#1\endcsname{#1}%
- \expandafter\gdef\csname\k!prefix!#2\endcsname{#1}} % backmapping from non english
+ \expandafter\gdef\csname\k!prefix!#2\endcsname{#1}} % backmapping from non english
\def\ui_s #1{\expandafter\gdef\csname\c!prefix!#1\endcsname{#1}%
- \expandafter\gdef\csname\k!prefix!#1\endcsname{#1}} % backmapping from non english
+ \expandafter\gdef\csname\k!prefix!#1\endcsname{#1}} % backmapping from non english
\def\ui_v#1#2{\expandafter\gdef\csname\v!prefix!#1\endcsname{#2}}
\def\ui_e#1#2{\expandafter\gdef\csname\e!prefix!#1\endcsname{#2}}
\def\ui_m#1#2{\expandafter\gdef\csname#2\expandafter\endcsname\expandafter{\csname#1\endcsname}}
diff --git a/tex/context/base/mkiv/status-files.pdf b/tex/context/base/mkiv/status-files.pdf
index b39796806..d775f0087 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 eb4cadf97..2d597ef30 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/trac-inf.lua b/tex/context/base/mkiv/trac-inf.lua
index f4c4e5557..401fd01e7 100644
--- a/tex/context/base/mkiv/trac-inf.lua
+++ b/tex/context/base/mkiv/trac-inf.lua
@@ -14,7 +14,7 @@ if not modules then modules = { } end modules ['trac-inf'] = {
local type, tonumber, select = type, tonumber, select
local format, lower, find = string.format, string.lower, string.find
local concat = table.concat
-local clock = os.gettimeofday or os.clock -- should go in environment
+local clock = os.gettimeofday or os.clock -- should go in environment
local setmetatableindex = table.setmetatableindex
local serialize = table.serialize
diff --git a/tex/context/base/mkiv/typo-bld.lua b/tex/context/base/mkiv/typo-bld.lua
index ab57a46f7..006576f88 100644
--- a/tex/context/base/mkiv/typo-bld.lua
+++ b/tex/context/base/mkiv/typo-bld.lua
@@ -52,7 +52,8 @@ storage.register("builders/paragraphs/constructors/numbers", numbers, "builders.
local trace_page_builder = false trackers.register("builders.page", function(v) trace_page_builder = v end)
local trace_post_builder = false trackers.register("builders.post", function(v) trace_post_builder = v end)
-local report_parbuilders = logs.reporter("parbuilders")
+local report_par_builder = logs.reporter("builders","par")
+local report_page_builder = logs.reporter("builders","page")
local mainconstructor = nil -- not stored in format
local nofconstructors = 0
@@ -84,7 +85,7 @@ function constructors.start(name)
if mainconstructor ~= unsetvalue then
constructors.enable()
end
- -- report_parbuilders("start %a",name)
+ -- report_par_builder("start %a",name)
end
function constructors.stop()
@@ -94,7 +95,7 @@ function constructors.stop()
if mainconstructor == unsetvalue then
constructors.disable()
end
- -- report_parbuilders("stop")
+ -- report_par_builder("stop")
end
-- return values:
@@ -115,7 +116,7 @@ function constructors.handler(head,followed_by_display)
if handler then
return handler(head,followed_by_display)
else
- report_parbuilders("contructor method %a is not defined",tostring(method))
+ report_par_builder("contructor method %a is not defined",tostring(method))
return true -- let tex break
end
end