summaryrefslogtreecommitdiff
path: root/tex/context/base/mkiv/cldf-int.lua
diff options
context:
space:
mode:
authorHans Hagen <pragma@wxs.nl>2019-07-24 13:08:53 +0200
committerContext Git Mirror Bot <phg@phi-gamma.net>2019-07-24 13:08:53 +0200
commit47852e5715e7c0374bb6bc173c1728908549e1ed (patch)
treee6df8c61ffb0aadfabbca7e9a33f10d1b61bde68 /tex/context/base/mkiv/cldf-int.lua
parenta92a8d40ce567ecf5b0baacd9a93a94aac9a4a2d (diff)
downloadcontext-47852e5715e7c0374bb6bc173c1728908549e1ed.tar.gz
2019-07-24 11:24:00
Diffstat (limited to 'tex/context/base/mkiv/cldf-int.lua')
-rw-r--r--tex/context/base/mkiv/cldf-int.lua15
1 files changed, 12 insertions, 3 deletions
diff --git a/tex/context/base/mkiv/cldf-int.lua b/tex/context/base/mkiv/cldf-int.lua
index 937e1da60..86420f422 100644
--- a/tex/context/base/mkiv/cldf-int.lua
+++ b/tex/context/base/mkiv/cldf-int.lua
@@ -45,7 +45,7 @@ if CONTEXTLMTXMODE > 0 then
local equal = byte('=')
local comma = byte(',')
- function scanhash(t)
+ function scanhash(scanners)
if scanpeek() == open then
local data = { }
scanskip()
@@ -61,7 +61,16 @@ if CONTEXTLMTXMODE > 0 then
if key then
if scanpeek() == equal then
scanskip()
- data[key] = scanvalue(comma,close) or ""
+ if scanners then
+ local scanner = scanners[key]
+ if scanner then
+ data[key] = scanner()
+ else
+ data[key] = scanvalue(comma,close) or ""
+ end
+ else
+ data[key] = scanvalue(comma,close) or ""
+ end
else
break
end
@@ -74,7 +83,7 @@ if CONTEXTLMTXMODE > 0 then
end
end
- function scanarray(t)
+ function scanarray()
if scanpeek() == open then
local data = { }
local d = 0