diff options
author | Norbert Preining <norbert@preining.info> | 2021-06-10 03:01:49 +0000 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2021-06-10 03:01:49 +0000 |
commit | 2bd77f5a4d02b0d1649589aa7a548e79b198f6af (patch) | |
tree | 04786bcca2c349d0cb1373335978e03bb117df7b /macros/luatex/generic/minim/minim-hooks.lua | |
parent | f7fc4ad3995d7f6ebbed20c20bf06e3a9176ea04 (diff) |
CTAN sync 202106100301
Diffstat (limited to 'macros/luatex/generic/minim/minim-hooks.lua')
-rw-r--r-- | macros/luatex/generic/minim/minim-hooks.lua | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/macros/luatex/generic/minim/minim-hooks.lua b/macros/luatex/generic/minim/minim-hooks.lua new file mode 100644 index 0000000000..c399547c9e --- /dev/null +++ b/macros/luatex/generic/minim/minim-hooks.lua @@ -0,0 +1,30 @@ + +-- Adds a callback just before a box is shipped out, opposite to +-- 'finish_pdfpage'. + +local alloc = require('minim-alloc') +local cb = require ('minim-callbacks') +alloc.remember('minim-hooks') + +local M = { } + +cb.new_callback('pre_shipout', 'simple') + +M.primitive_shipout = tex.shipout +function tex.shipout(nr) + cb.call_callback('pre_shipout', nr) + M.primitive_shipout(nr) +end + +local shipout_box = alloc.new_box('minim:shipout:box') + +alloc.luadef('minim:shipout', function() + tex.box[shipout_box] = token.scan_list() + cb.call_callback('pre_shipout', shipout_box) + -- we must let tex do the rest, because some other package may have + -- redefined \shipout before us. + tex.sprint(token.create('minim:shipout:do')) +end, 'protected') + +return M + |