summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/luatex/luatextra/luamcallbacks.lua
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/luatex/luatextra/luamcallbacks.lua')
-rw-r--r--Master/texmf-dist/tex/luatex/luatextra/luamcallbacks.lua14
1 files changed, 11 insertions, 3 deletions
diff --git a/Master/texmf-dist/tex/luatex/luatextra/luamcallbacks.lua b/Master/texmf-dist/tex/luatex/luatextra/luamcallbacks.lua
index 03bebe0b7e9..77dc49c7681 100644
--- a/Master/texmf-dist/tex/luatex/luatextra/luamcallbacks.lua
+++ b/Master/texmf-dist/tex/luatex/luatextra/luamcallbacks.lua
@@ -20,8 +20,8 @@ luamcallbacks = { }
luamcallbacks.module = {
name = "luamcallbacks",
- version = 0.92,
- date = "2009/03/19",
+ version = 0.93,
+ date = "2009/09/18",
description = "Module to register several functions in a callback.",
author = "Hans Hagen & Elie Roux",
copyright = "Hans Hagen & Elie Roux",
@@ -96,6 +96,11 @@ read_data_file = first,
}
+if tex.luatexversion > 42 then
+ luamcallbacks.callbacktypes["process_output_buffer"] = data
+end
+
+
luamcallbacks.internalregister = luamcallbacks.internalregister or callback.register
local callbacktypes = luamcallbacks.callbacktypes
@@ -290,8 +295,11 @@ function luamcallbacks.remove (name, description)
table.remove(l,k)
luamcallbacks.log(
format("removing function '%s' from '%s'",description,name))
- if l == {} and not luamcallbacks.lua_callbacks_defaults[name] then
+ if not next(l) then
+ luamcallbacks.callbacklist[name] = nil
+ if not luamcallbacks.lua_callbacks_defaults[name] then
luamcallbacks.internalregister(name, nil)
+ end
end
return
end