summaryrefslogtreecommitdiff
path: root/tex/context/base/lxml-aux.lua
diff options
context:
space:
mode:
Diffstat (limited to 'tex/context/base/lxml-aux.lua')
-rw-r--r--tex/context/base/lxml-aux.lua20
1 files changed, 18 insertions, 2 deletions
diff --git a/tex/context/base/lxml-aux.lua b/tex/context/base/lxml-aux.lua
index f6816ccb6..8eedade39 100644
--- a/tex/context/base/lxml-aux.lua
+++ b/tex/context/base/lxml-aux.lua
@@ -427,6 +427,14 @@ local function include(xmldata,pattern,attribute,recursive,loaddata,level)
else
xmldata.settings.inclusions = { name }
end
+ if child.er then
+ local badinclusions = xmldata.settings.badinclusions
+ if badinclusions then
+ badinclusions[#badinclusions+1] = name
+ else
+ xmldata.settings.badinclusions = { name }
+ end
+ end
end
end
end
@@ -447,11 +455,11 @@ function xml.inclusion(e,default)
return default
end
-function xml.inclusions(e,sorted)
+local function getinclusions(key,e,sorted)
while e do
local settings = e.settings
if settings then
- local inclusions = settings.inclusions
+ local inclusions = settings[key]
if inclusions then
inclusions = table.unique(inclusions) -- a copy
if sorted then
@@ -467,6 +475,14 @@ function xml.inclusions(e,sorted)
end
end
+function xml.inclusions(e,sorted)
+ return getinclusions("inclusions",e,sorted)
+end
+
+function xml.badinclusions(e,sorted)
+ return getinclusions("badinclusions",e,sorted)
+end
+
local b_collapser = lpeg.patterns.b_collapser
local m_collapser = lpeg.patterns.m_collapser
local e_collapser = lpeg.patterns.e_collapser