summaryrefslogtreecommitdiff
path: root/tex/context/base/mkiv/publ-dat.lua
diff options
context:
space:
mode:
authorHans Hagen <pragma@wxs.nl>2018-07-13 10:51:35 +0200
committerContext Git Mirror Bot <phg42.2a@gmail.com>2018-07-13 10:51:35 +0200
commita8f63ee70a866cce43ee4b1bb5ba95ef8044243f (patch)
tree713c9d172e5e441ae131d6902d9e27f4cd9e89c8 /tex/context/base/mkiv/publ-dat.lua
parentff693671b6540fa81d2ad7aecdbe786a4df97335 (diff)
downloadcontext-a8f63ee70a866cce43ee4b1bb5ba95ef8044243f.tar.gz
2018-07-13 09:55:00
Diffstat (limited to 'tex/context/base/mkiv/publ-dat.lua')
-rw-r--r--tex/context/base/mkiv/publ-dat.lua16
1 files changed, 10 insertions, 6 deletions
diff --git a/tex/context/base/mkiv/publ-dat.lua b/tex/context/base/mkiv/publ-dat.lua
index bf134a56e..b82a3c4f8 100644
--- a/tex/context/base/mkiv/publ-dat.lua
+++ b/tex/context/base/mkiv/publ-dat.lua
@@ -533,12 +533,16 @@ do
value = lpegmatch(filter_2,value,1,dataset.commands) -- we need to start at 1 for { }
end
if normalized == "crossref" then
- local parent = luadata[value]
- if parent then
- setmetatableindex(entries,parent)
- else
- -- warning
- end
+ setmetatableindex(entries,function(t,k)
+ local parent = luadata[value]
+ if parent then
+ setmetatableindex(entries,parent)
+ return entries[k]
+ else
+ report_duplicates("no valid parent %a for %a in dataset %s",value,hashtag,dataset.name)
+ setmetatableindex(entries,nil)
+ end
+ end)
end
entries[normalized] = value
end