summaryrefslogtreecommitdiff
path: root/tex/context/base/mkxl/strc-reg.lmt
diff options
context:
space:
mode:
authorHans Hagen <pragma@wxs.nl>2021-08-19 20:32:31 +0200
committerContext Git Mirror Bot <phg@phi-gamma.net>2021-08-19 20:32:31 +0200
commitaf60125ab3fa9e482720f0f46c2143fa08512113 (patch)
tree3e85c8a8a5979ebd05b891f8ecfb93d1b69ac41b /tex/context/base/mkxl/strc-reg.lmt
parentd3d93bc4f0d21a259fdafee5ba1a744999474c28 (diff)
downloadcontext-af60125ab3fa9e482720f0f46c2143fa08512113.tar.gz
2021-08-19 19:43:00
Diffstat (limited to 'tex/context/base/mkxl/strc-reg.lmt')
-rw-r--r--tex/context/base/mkxl/strc-reg.lmt18
1 files changed, 17 insertions, 1 deletions
diff --git a/tex/context/base/mkxl/strc-reg.lmt b/tex/context/base/mkxl/strc-reg.lmt
index 6e26f6f37..ccb43bc28 100644
--- a/tex/context/base/mkxl/strc-reg.lmt
+++ b/tex/context/base/mkxl/strc-reg.lmt
@@ -497,7 +497,22 @@ local function preprocessentries(rawdata)
if not ok and etk == "" then
entries[k] = nil
else
- entries[k] = { etk or "", ktk ~= "" and ktk or false, ptk ~= "" and ptk or false }
+ if not etk then
+ etk = ""
+ end
+ -- we save some space by pruning
+ if ptk == "" then
+ ptk = nil
+ end
+ -- we save even more space by pruning
+ if ktk == "" then
+ if ptk then
+ ktk = false
+ else
+ ktk = nil
+ end
+ end
+ entries[k] = { etk, ktk, ptk }
ok = true
end
end
@@ -563,6 +578,7 @@ local function storeregister(rawdata) -- metadata, references, entries
--
local data = notsaved and collected[name] or tobesaved[name]
local entries = data.entries
+ --
internalreferences[internal] = rawdata
preprocessentries(rawdata)
entries[#entries+1] = rawdata