summaryrefslogtreecommitdiff
path: root/tex/context/base/mkxl/node-ref.lmt
diff options
context:
space:
mode:
authorHans Hagen <pragma@wxs.nl>2021-10-19 00:16:55 +0200
committerContext Git Mirror Bot <phg@phi-gamma.net>2021-10-19 00:16:55 +0200
commit9d2ad7dea5c20379f6679c57c3b16752b1af445a (patch)
tree45f39853be982c52f7386b968cf4f15f1f70ccce /tex/context/base/mkxl/node-ref.lmt
parent6ca88e6f1f15cea89db047839c3126a501f39eea (diff)
downloadcontext-9d2ad7dea5c20379f6679c57c3b16752b1af445a.tar.gz
2021-10-18 23:13:00
Diffstat (limited to 'tex/context/base/mkxl/node-ref.lmt')
-rw-r--r--tex/context/base/mkxl/node-ref.lmt28
1 files changed, 17 insertions, 11 deletions
diff --git a/tex/context/base/mkxl/node-ref.lmt b/tex/context/base/mkxl/node-ref.lmt
index 2a2bf267f..269b2e749 100644
--- a/tex/context/base/mkxl/node-ref.lmt
+++ b/tex/context/base/mkxl/node-ref.lmt
@@ -7,15 +7,11 @@ if not modules then modules = { } end modules ['node-ref'] = {
license = "see context related readme files"
}
--- We supported pdf right from the start and in mkii this has resulted in
--- extensive control over the links. Nowadays pdftex provides a lot more
--- control over margins but as mkii supports multiple backends we stuck to
--- our own mechanisms. In mkiv again we implement our own handling. Eventually
--- we will even disable the pdf primitives.
-
--- helper, will end up in luatex
-
--- is grouplevel still used?
+-- We supported pdf right from the start and in mkii this has resulted in extensive
+-- control over the links. Nowadays pdftex provides a lot more control over margins
+-- but as mkii supports multiple backends we stuck to our own mechanisms. In mkiv
+-- again we implement our own handling. Eventually we will even disable the pdf
+-- primitives.
local tonumber = tonumber
local concat = table.concat
@@ -49,6 +45,16 @@ local report_area = logs.reporter("backend","areas")
local texsetcount = tex.setcount
----- texsetattribute = tex.setattribute
+local injectreference = backends.nodeinjections.reference
+local injectdestination = backends.nodeinjections.destination
+local prerollreference = backends.codeinjections.prerollreference
+
+updaters.register("backends.injections.latebindings",function()
+ injectreference = backends.nodeinjections.reference
+ injectdestination = backends.nodeinjections.destination
+ prerollreference = backends.codeinjections.prerollreference
+end)
+
local nuts = nodes.nuts
local nodepool = nuts.pool
@@ -566,7 +572,7 @@ do
if depth < dp then depth = dp end
end
-- logs.report("temp","used: ht=%p dp=%p",height,depth)
- local annot = nodeinjections.reference(reference,width,height,depth,set,resolved.mesh)
+ local annot = injectreference(reference,width,height,depth,set,resolved.mesh)
if annot then
annot = tonut(annot) -- todo
nofreferences = nofreferences + 1
@@ -745,7 +751,7 @@ do
end
end
nofdestinations = nofdestinations + 1
- local annot = nodeinjections.destination(width,height,depth,name,view)
+ local annot = injectdestination(width,height,depth,name,view)
if annot then
annot = tonut(annot) -- obsolete soon
if result then