summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/context/base/strc-reg.lua
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/context/base/strc-reg.lua')
-rw-r--r--Master/texmf-dist/tex/context/base/strc-reg.lua20
1 files changed, 12 insertions, 8 deletions
diff --git a/Master/texmf-dist/tex/context/base/strc-reg.lua b/Master/texmf-dist/tex/context/base/strc-reg.lua
index 6da58345bf5..40cd3455b28 100644
--- a/Master/texmf-dist/tex/context/base/strc-reg.lua
+++ b/Master/texmf-dist/tex/context/base/strc-reg.lua
@@ -169,9 +169,9 @@ local function filtercollected(names,criterium,number,collected,prevmode)
end
if trace_registers then
if detail then
- report_registers("criterium: %s, %s, found: %s",criterium,detail,#result)
+ report_registers("criterium %a, detail %a, found %a",criterium,detail,#result)
else
- report_registers("criterium: %s, found: %s",criterium,#result)
+ report_registers("criterium %a, detail %a, found %a",criterium,nil,#result)
end
end
return result
@@ -266,6 +266,10 @@ local function preprocessentries(rawdata)
end
rawdata.entries = nil
end
+ local seeword = rawdata.seeword
+ if seeword then
+ seeword.processor, seeword.text = splitprocessor(seeword.text or "")
+ end
end
function registers.store(rawdata) -- metadata, references, entries
@@ -519,7 +523,7 @@ function registers.finalize(data,options) -- maps character to index (order)
local entry, tag = firstofsplit(v)
if tag ~= lasttag then
if trace_registers then
- report_registers("splitting at %s",tag)
+ report_registers("splitting at %a",tag)
end
done, nofdone = { }, 0
nofsplit = nofsplit + 1
@@ -675,8 +679,7 @@ function registers.flush(data,options,prefixspec,pagespec)
list[#list] = nil
else
-- we have an \seeindex{Foo}{Bar} without Foo being defined anywhere
- report_registers("invalid see entry in register '%s', reference '%s'",
- entry.metadata.name or "?",list[1][1] or "?")
+ report_registers("invalid see entry in register %a, reference %a",entry.metadata.name,list[1][1])
end
end
end
@@ -826,10 +829,11 @@ function registers.flush(data,options,prefixspec,pagespec)
context.startregisterseewords()
for i=1,nt do
local entry = t[i]
- local processor = entry.processors and entry.processors[1] or ""
+ local seeword = entry.seeword
+ local seetext = seeword.text or ""
+ local processor = seeword.processor or (entry.processors and entry.processors[1]) or ""
local seeindex = entry.references.seeindex or ""
- local seeword = entry.seeword.text or ""
- context.registerseeword(i,n,processor,0,seeindex,seeword)
+ context.registerseeword(i,n,processor,0,seeindex,seetext)
end
context.stopregisterseewords()
end