summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tex/context/base/back-exp.lua81
-rw-r--r--tex/context/base/back-exp.mkiv2
-rw-r--r--tex/context/base/cont-new.mkiv2
-rw-r--r--tex/context/base/context-version.pdfbin4398 -> 4405 bytes
-rw-r--r--tex/context/base/context.mkiv2
-rw-r--r--tex/context/base/publ-dat.lua4
-rw-r--r--tex/context/base/publ-tra.lua12
-rw-r--r--tex/context/base/status-files.pdfbin24708 -> 24707 bytes
-rw-r--r--tex/context/base/status-lua.pdfbin333731 -> 333730 bytes
-rw-r--r--tex/context/base/strc-itm.mkvi2
-rw-r--r--tex/context/base/tabl-tbl.mkiv2
-rw-r--r--tex/generic/context/luatex/luatex-fonts-merged.lua2
12 files changed, 62 insertions, 47 deletions
diff --git a/tex/context/base/back-exp.lua b/tex/context/base/back-exp.lua
index 84d3a6d8f..ca5cd5889 100644
--- a/tex/context/base/back-exp.lua
+++ b/tex/context/base/back-exp.lua
@@ -507,7 +507,7 @@ local function makebreaknode(attributes) -- maybe no fulltag
}
end
-local function ignorebreaks(result,element,n,fulltag,di)
+local function ignorebreaks(di,element,n,fulltag)
local data = di.data
for i=1,#data do
local d = data[i]
@@ -517,7 +517,7 @@ local function ignorebreaks(result,element,n,fulltag,di)
end
end
-local function ignorespaces(result,element,n,fulltag,di)
+local function ignorespaces(di,element,n,fulltag)
local data = di.data
for i=1,#data do
local d = data[i]
@@ -565,7 +565,7 @@ do
end
end
- function extras.document(result,element,n,fulltag,di)
+ function extras.document(di,element,n,fulltag)
setattribute(di,"language",languagenames[texgetcount("mainlanguagenumber")])
if not less_state then
setattribute(di,"file",tex.jobname)
@@ -591,18 +591,20 @@ do
local itemgroups = { }
- function structurestags.setitemgroup(packed,symbol)
+ function structurestags.setitemgroup(packed,level,symbol)
itemgroups[locatedtag("itemgroup")] = {
packed = packed,
symbol = symbol,
+ level = level,
}
end
- function extras.itemgroup(result,element,n,fulltag,di)
+ function extras.itemgroup(di,element,n,fulltag)
local hash = itemgroups[fulltag]
if hash then
setattribute(di,"packed",hash.packed and "yes" or nil)
setattribute(di,"symbol",hash.symbol)
+ setattribute(di,"level",hash.level)
end
end
@@ -617,7 +619,7 @@ do
synonyms[locatedtag("synonym")] = tag
end
- function extras.synonym(result,element,n,fulltag,di)
+ function extras.synonym(di,element,n,fulltag)
local tag = synonyms[fulltag]
if tag then
setattribute(di,"tag",tag)
@@ -628,7 +630,7 @@ do
sortings[locatedtag("sorting")] = tag
end
- function extras.sorting(result,element,n,fulltag,di)
+ function extras.sorting(di,element,n,fulltag)
local tag = sortings[fulltag]
if tag then
setattribute(di,"tag",tag)
@@ -688,14 +690,14 @@ do
end
end
- function extras.description(result,element,n,fulltag,di)
+ function extras.description(di,element,n,fulltag)
local id = linked[fulltag]
if id then
setattribute(di,"insert",id)
end
end
- function extras.descriptionsymbol(result,element,n,fulltag,di)
+ function extras.descriptionsymbol(di,element,n,fulltag)
local id = linked[fulltag]
if id then
setattribute(di,"insert",id)
@@ -706,7 +708,7 @@ end
-- -- todo: ignore breaks
--
--- function extras.verbatimline(result,element,n,fulltag,di)
+-- function extras.verbatimline(di,element,n,fulltag)
-- inspect(di)
-- end
@@ -725,7 +727,7 @@ do
}
end
- function extras.image(result,element,n,fulltag,di)
+ function extras.image(di,element,n,fulltag)
local data = image[fulltag]
if data then
setattribute(di,"name",data.name)
@@ -752,7 +754,7 @@ do
}
end
- function extras.combination(result,element,n,fulltag,di)
+ function extras.combination(di,element,n,fulltag)
local data = combinations[fulltag]
if data then
setattribute(di,"nx",data.nx)
@@ -865,7 +867,7 @@ do
local r = references[i]
local e = evaluators[r.kind]
if e then
- e(result,r)
+ e(di,r)
end
end
end
@@ -910,7 +912,7 @@ do
end
end
- local function link(di,element,n,fulltag,di)
+ local function link(di,element,n,fulltag)
-- for instance in lists a link has nested elements and no own text
local reference = referencehash[fulltag]
if reference then
@@ -923,7 +925,7 @@ do
local di = data[i]
if di then
local fulltag = di.fulltag
- if fulltag and link(di,element,n,fulltag,di) then
+ if fulltag and link(di,element,n,fulltag) then
return true
end
end
@@ -1509,7 +1511,7 @@ do
local a, z, A, Z = 0x61, 0x7A, 0x41, 0x5A
- function extras.mi(di,element,n,fulltag,di) -- check with content
+ function extras.mi(di,element,n,fulltag) -- check with content
local str = di.data[1].content
if str and sub(str,1,1) ~= "&" then -- hack but good enough (maybe gsub op eerste)
for v in utfvalues(str) do
@@ -1525,7 +1527,7 @@ do
end
end
- function extras.msub(di,element,n,fulltag,di)
+ function extras.msub(di,element,n,fulltag)
-- m$^2$
local data = di.data
if #data == 1 then
@@ -1544,7 +1546,7 @@ do
local registered = structures.sections.registered
- local function resolve(di,element,n,fulltag,di)
+ local function resolve(di,element,n,fulltag)
local data = listdata[fulltag]
if data then
extras.addreference(di,data.references)
@@ -1556,7 +1558,7 @@ do
local di = data[i]
if di then
local ft = di.fulltag
- if ft and resolve(di,element,n,ft,di) then
+ if ft and resolve(di,element,n,ft) then
return true
end
end
@@ -1565,12 +1567,12 @@ do
end
end
- function extras.section(di,element,n,fulltag,di)
+ function extras.section(di,element,n,fulltag)
local r = registered[specifications[fulltag].detail]
if r then
setattribute(di,"level",r.level)
end
- resolve(di,element,n,fulltag,di)
+ resolve(di,element,n,fulltag)
end
extras.float = resolve
@@ -1584,7 +1586,7 @@ do
end
end
- function extras.listitem(di,element,n,fulltag,di)
+ function extras.listitem(di,element,n,fulltag)
local data = referencehash[fulltag]
if data then
extras.addinternal(di,data.references)
@@ -1605,7 +1607,7 @@ do
end
end
- function extras.registerlocation(di,element,n,fulltag,di)
+ function extras.registerlocation(di,element,n,fulltag)
local data = referencehash[fulltag]
if data then
extras.addinternal(di,data.references)
@@ -1648,7 +1650,7 @@ do
end
end
- function extras.tablecell(di,element,n,fulltag,di)
+ function extras.tablecell(di,element,n,fulltag)
local hash = tabledata[fulltag]
if hash then
local columns = hash.columns
@@ -1682,7 +1684,7 @@ do
end
end
- function extras.tabulate(di,element,n,fulltag,di)
+ function extras.tabulate(di,element,n,fulltag)
local data = di.data
for i=1,#data do
local di = data[i]
@@ -1692,7 +1694,7 @@ do
end
end
- function extras.tabulatecell(di,element,n,fulltag,di)
+ function extras.tabulatecell(di,element,n,fulltag)
local hash = tabulatedata[fulltag]
if hash then
local align = hash.align
@@ -1843,7 +1845,7 @@ do
end
local extra = extras[element]
if extra then
- extra(di,element,index,fulltag,di)
+ extra(di,element,index,fulltag)
end
if exportproperties then
local p = specification.userdata
@@ -2448,7 +2450,8 @@ local function collectresults(head,list,pat,pap) -- is last used (we also have c
-- to a regular setter at the tex end.
local r = getattr(n,a_reference)
if r then
- referencehash[tl[#tl]] = r -- fulltag
+ local t = tl.taglist
+ referencehash[t[#t]] = r -- fulltag
end
--
elseif last then
@@ -3028,24 +3031,36 @@ local htmltemplate = [[
local function makeclass(tg,at)
local detail = at.detail
local chain = at.chain
+ local result
at.detail = nil
at.chain = nil
if detail and detail ~= "" then
if chain and chain ~= "" then
if chain ~= detail then
- return classes[tg .. " " .. chain .. " " .. detail] -- we need to remove duplicates
+ result = { classes[tg .. " " .. chain .. " " .. detail] } -- we need to remove duplicates
elseif tg ~= detail then
- return tg .. " " .. detail
+ result = { tg, detail }
+ else
+ result = { tg }
end
elseif tg ~= detail then
- return tg .. " " .. detail
+ result = { tg, detail }
+ else
+ result = { tg }
end
elseif chain and chain ~= "" then
if tg ~= chain then
- return tg .. " " .. chain
+ result = { tg, chain }
+ else
+ result = { tg }
end
+ else
+ result = { tg }
+ end
+ for k, v in next, at do
+ result[#result+1] = k .. "-" .. v
end
- return tg
+ return concat(result, " ")
end
local function remap(specification,source,target)
diff --git a/tex/context/base/back-exp.mkiv b/tex/context/base/back-exp.mkiv
index bbf564517..c056547b9 100644
--- a/tex/context/base/back-exp.mkiv
+++ b/tex/context/base/back-exp.mkiv
@@ -120,7 +120,7 @@
\to \everyenableelements
\appendtoks
- \unexpanded\def\dotagsetitemgroup{\taggedctxcommand{settagitemgroup(\ifconditional\c_strc_itemgroups_pack true\else false\fi,"\currentitemgroupsymbol")}}%
+ \unexpanded\def\dotagsetitemgroup{\taggedctxcommand{settagitemgroup(\ifconditional\c_strc_itemgroups_pack true\else false\fi,\number\currentitemlevel,"\currentitemgroupsymbol")}}%
\to \everyenableelements
\appendtoks
diff --git a/tex/context/base/cont-new.mkiv b/tex/context/base/cont-new.mkiv
index d54ba6c3f..7c79c017b 100644
--- a/tex/context/base/cont-new.mkiv
+++ b/tex/context/base/cont-new.mkiv
@@ -11,7 +11,7 @@
%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
%C details.
-\newcontextversion{2014.10.27 09:27}
+\newcontextversion{2014.10.27 15:16}
%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/context-version.pdf b/tex/context/base/context-version.pdf
index 4080c15b4..4abb589f6 100644
--- a/tex/context/base/context-version.pdf
+++ b/tex/context/base/context-version.pdf
Binary files differ
diff --git a/tex/context/base/context.mkiv b/tex/context/base/context.mkiv
index bdb1e8c07..22ce6c50e 100644
--- a/tex/context/base/context.mkiv
+++ b/tex/context/base/context.mkiv
@@ -28,7 +28,7 @@
%D up and the dependencies are more consistent.
\edef\contextformat {\jobname}
-\edef\contextversion{2014.10.27 09:27}
+\edef\contextversion{2014.10.27 15:16}
\edef\contextkind {beta}
%D For those who want to use this:
diff --git a/tex/context/base/publ-dat.lua b/tex/context/base/publ-dat.lua
index 544528405..a9007fa9c 100644
--- a/tex/context/base/publ-dat.lua
+++ b/tex/context/base/publ-dat.lua
@@ -126,12 +126,12 @@ local specifications = setmetatableindex(function(t,name)
return default -- initializer
end
local filename = formatters["publ-imp-%s.lua"](name)
- local fullname = resolvers.findfile(fullname) or ""
+ local fullname = resolvers.findfile(filename) or ""
if fullname == "" then
report("no data definition file %a for %a",filename,name)
return default
end
- local specification = table.load(filename)
+ local specification = table.load(fullname)
if not specification then
report("invalid data definition file %a for %a",fullname,name)
return default
diff --git a/tex/context/base/publ-tra.lua b/tex/context/base/publ-tra.lua
index 34a678459..7dc5d5703 100644
--- a/tex/context/base/publ-tra.lua
+++ b/tex/context/base/publ-tra.lua
@@ -12,8 +12,9 @@ local sortedhash, sortedkeys = table.sortedhash, table.sortedkeys
local settings_to_array = utilities.parsers.settings_to_array
local formatters = string.formatters
-local tracers = publications.tracers or { }
-local datasets = publications.datasets
+local tracers = publications.tracers or { }
+local datasets = publications.datasets
+local specifications = publications.specifications
local context = context
@@ -34,7 +35,7 @@ function tracers.showdatasetfields(settings)
local luadata = current.luadata
if next(luadata) then
local kind = settings.kind
- local fielddata = kind and categories[kind] or categories.apa
+ local fielddata = kind and specifications[kind] or specifications.apa
local categories = fielddata.categories
local fieldspecs = fielddata.fields
ctx_starttabulate { "|lT|lT|pT|" }
@@ -73,10 +74,9 @@ function tracers.showdatasetcompleteness(settings)
local current = datasets[dataset]
local luadata = current.luadata
local kind = settings.kind
- local fielddata = kind and categories[kind] or categories.apa
+ local fielddata = kind and specifications[kind] or specifications.apa
local categories = fielddata.categories
local fieldspecs = fielddata.fields
-
local lpegmatch = lpeg.match
local texescape = lpeg.patterns.texescape
@@ -199,7 +199,7 @@ end
function tracers.showfields(settings)
local rotation = settings.rotation
local kind = settings.kind
- local fielddata = kind and categories[kind] or categories.apa
+ local fielddata = kind and specifications[kind] or specifications.apa
local categories = fielddata.categories
local fieldspecs = fielddata.fields
local swapped = { }
diff --git a/tex/context/base/status-files.pdf b/tex/context/base/status-files.pdf
index 7d2f9fa03..21f151a50 100644
--- a/tex/context/base/status-files.pdf
+++ b/tex/context/base/status-files.pdf
Binary files differ
diff --git a/tex/context/base/status-lua.pdf b/tex/context/base/status-lua.pdf
index 7249deb2b..9298c71a6 100644
--- a/tex/context/base/status-lua.pdf
+++ b/tex/context/base/status-lua.pdf
Binary files differ
diff --git a/tex/context/base/strc-itm.mkvi b/tex/context/base/strc-itm.mkvi
index 4478c2d8d..fd612b339 100644
--- a/tex/context/base/strc-itm.mkvi
+++ b/tex/context/base/strc-itm.mkvi
@@ -485,7 +485,7 @@
\ifdefined\dotagsetitemgroup \else \let\dotagsetitemgroup\relax \fi
\def\strc_itemgroups_tag_start_group
- {\dostarttaggedchained\t!itemgroup\currentitemgroup\??itemgroup
+ {\dostarttaggedchained\t!itemgroup\currentparentitemgroup\??itemgroup
\dotagsetitemgroup}
\def\strc_itemgroups_tag_stop_group
diff --git a/tex/context/base/tabl-tbl.mkiv b/tex/context/base/tabl-tbl.mkiv
index 1bfa53d31..52c452235 100644
--- a/tex/context/base/tabl-tbl.mkiv
+++ b/tex/context/base/tabl-tbl.mkiv
@@ -2172,7 +2172,7 @@
\global\setbox\b_tabl_tabulate\vbox \bgroup
\fi
%
- \dostarttaggedchained\t!tabulate\empty\??tabulate
+ \dostarttaggedchained\t!tabulate\empty\??tabulation
\dostarttagged\t!tabulaterow\empty
\setfalse\inhibitmargindata % new per 2012.06.13 ... really needed
\everycr\expandafter{\the\everycr\dostoptagged\dostarttagged\t!tabulaterow\empty}%
diff --git a/tex/generic/context/luatex/luatex-fonts-merged.lua b/tex/generic/context/luatex/luatex-fonts-merged.lua
index 0a533d75f..43734d206 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 : luatex-fonts-merged.lua
-- parent file : luatex-fonts.lua
--- merge date : 10/27/14 09:27:26
+-- merge date : 10/27/14 15:16:33
do -- begin closure to overcome local limits and interference