summaryrefslogtreecommitdiff
path: root/tex/context/base/lxml-tex.lua
diff options
context:
space:
mode:
Diffstat (limited to 'tex/context/base/lxml-tex.lua')
-rw-r--r--tex/context/base/lxml-tex.lua10
1 files changed, 7 insertions, 3 deletions
diff --git a/tex/context/base/lxml-tex.lua b/tex/context/base/lxml-tex.lua
index 974646be7..c33fdbc49 100644
--- a/tex/context/base/lxml-tex.lua
+++ b/tex/context/base/lxml-tex.lua
@@ -1670,17 +1670,21 @@ function lxml.doifelsetext (id,pattern) doifelse(not empty(getid(id),pattern)) e
-- special case: "*" and "" -> self else lpath lookup
-function lxml.doifelseempty(id,pattern)
+local function checkedempty(id,pattern)
local e = getid(id)
if not pattern or pattern == "" then
local dt = e.dt
local nt = #dt
- doifelse((nt == 0) or (nt == 1 and dt[1] == ""))
+ return (nt == 0) or (nt == 1 and dt[1] == "")
else
- doifelse(isempty(getid(id),pattern))
+ return isempty(getid(id),pattern)
end
end
+function lxml.doifempty (id,pattern) doif (checkedempty(id,pattern)) end
+function lxml.doifnotempty (id,pattern) doifnot (checkedempty(id,pattern)) end
+function lxml.doifelseempty(id,pattern) doifelse(checkedempty(id,pattern)) end
+
-- status info
statistics.register("xml load time", function()