diff options
author | Marius <mariausol@gmail.com> | 2010-09-29 10:24:24 +0300 |
---|---|---|
committer | Marius <mariausol@gmail.com> | 2010-09-29 10:24:24 +0300 |
commit | 85da9cc1275f6f47ab6ab41938c386b024a25e0b (patch) | |
tree | e27712ba3b341e7e006282cc7a48e6200717ef29 /tex/context/base/luat-run.lua | |
parent | 1daa5350b249e633033662735b5615e24a48377a (diff) | |
download | context-85da9cc1275f6f47ab6ab41938c386b024a25e0b.tar.gz |
beta 2010.09.28 23:57
Diffstat (limited to 'tex/context/base/luat-run.lua')
-rw-r--r-- | tex/context/base/luat-run.lua | 31 |
1 files changed, 29 insertions, 2 deletions
diff --git a/tex/context/base/luat-run.lua b/tex/context/base/luat-run.lua index 46173ecf8..f22470f5f 100644 --- a/tex/context/base/luat-run.lua +++ b/tex/context/base/luat-run.lua @@ -9,9 +9,11 @@ if not modules then modules = { } end modules ['luat-run'] = { local format, rpadd = string.format, string.rpadd local insert = table.insert -local trace_lua_dump = false trackers .register("system.dump", function(v) trace_lua_dump = v end) +local trace_lua_dump = false trackers.register("system.dump", function(v) trace_lua_dump = v end) +local trace_temp_files = false trackers.register("system.tempfiles", function(v) trace_temp_files = v end) -local report_lua_dump = logs.new("lua dump actions") +local report_lua_dump = logs.new("lua dump actions") +local report_temp_files = logs.new("temporary files") luatex = luatex or { } local luatex = luatex @@ -86,3 +88,28 @@ callbacks.register('process_input_buffer', false, "actions perfor callbacks.register('process_output_buffer', false, "actions performed when writing data") callbacks.register("pre_dump", pre_dump_actions, "lua related finalizers called before we dump the format") -- comes after \everydump + +-- an example: + +local tempfiles = { } + +function luatex.registertempfile(name) + name = name .. ".mkiv-tmp" -- maybe just .tmp + if trace_temp_files and not tempfiles[name] then + report_temp_files("registering: %s",name) + end + tempfiles[name] = true + return name +end + +function luatex.cleanuptempfiles() + for name, _ in next, tempfiles do + if trace_temp_files then + report_temp_files("removing: %s",name) + end + os.remove(name) + end + tempfiles = { } +end + +luatex.registerstopactions(luatex.cleanuptempfiles) |