summaryrefslogtreecommitdiff
path: root/tex/context/base/publ-dat.lua
diff options
context:
space:
mode:
authorContext Git Mirror Bot <phg42.2a@gmail.com>2015-04-17 00:15:04 +0200
committerContext Git Mirror Bot <phg42.2a@gmail.com>2015-04-17 00:15:04 +0200
commit24d80ae3ad1f711400b1b15c27580c4a58e3ca9b (patch)
tree22acba6e0963bc7fcdbf934a248203642bc7dc42 /tex/context/base/publ-dat.lua
parent04542a2ddadd9a057a65fcf626ba8084986206be (diff)
downloadcontext-24d80ae3ad1f711400b1b15c27580c4a58e3ca9b.tar.gz
2015-04-16 23:18:00
Diffstat (limited to 'tex/context/base/publ-dat.lua')
-rw-r--r--tex/context/base/publ-dat.lua9
1 files changed, 7 insertions, 2 deletions
diff --git a/tex/context/base/publ-dat.lua b/tex/context/base/publ-dat.lua
index a6226a4fc..957322f7c 100644
--- a/tex/context/base/publ-dat.lua
+++ b/tex/context/base/publ-dat.lua
@@ -26,7 +26,7 @@ local chardata = characters.data
local lowercase = characters.lower
local lower, find, sub = string.lower, string.find, string.sub
-local concat, copy = table.concat, table.copy
+local concat, copy, tohash = table.concat, table.copy, table.tohash
local next, type, rawget = next, type, rawget
local utfchar = utf.char
local lpegmatch, lpegpatterns = lpeg.match, lpeg.patterns
@@ -294,9 +294,14 @@ local specifications = setmetatableindex(function(t,name)
--
local virtual = specification.virtual
if virtual == nil then -- so false is valid
+ virtual = { }
+ elseif virtual == false then
+ virtual = { }
+ elseif type(virtual) ~= table then
virtual = virtuals
- specification.virtual = virtual
end
+ specification.virtual = virtual
+ specification.virtualfields = tohash(virtual)
--
for category, data in next, categories do
categories[category] = checkfield(specification,category,copy(data)) -- we make sure we have no clones