summaryrefslogtreecommitdiff
path: root/tex/context/base/trac-tex.lua
diff options
context:
space:
mode:
authorMarius <mariausol@gmail.com>2011-03-25 19:20:25 +0200
committerMarius <mariausol@gmail.com>2011-03-25 19:20:25 +0200
commit1455dd60b68c9140db1b9977c9e5ce372b772ec8 (patch)
treed2b7060a4d9891966a056dcf143ef20d43390561 /tex/context/base/trac-tex.lua
parent2a9554684f61df8db63dec6d4e874f49b25a212b (diff)
downloadcontext-1455dd60b68c9140db1b9977c9e5ce372b772ec8.tar.gz
beta 2011.03.25 18:03
Diffstat (limited to 'tex/context/base/trac-tex.lua')
-rw-r--r--tex/context/base/trac-tex.lua29
1 files changed, 26 insertions, 3 deletions
diff --git a/tex/context/base/trac-tex.lua b/tex/context/base/trac-tex.lua
index ab9e73e6e..dcfbf965d 100644
--- a/tex/context/base/trac-tex.lua
+++ b/tex/context/base/trac-tex.lua
@@ -8,6 +8,8 @@ if not modules then modules = { } end modules ['trac-hsh'] = {
-- moved from trac-deb.lua
+local format = string.format
+
local texhashtokens = tex.hashtokens
local trackers = trackers
@@ -23,12 +25,12 @@ function trackers.dumphashtofile(filename,delta)
for name, token in next, hash do
if not delta or not saved[name] then
-- token: cmd, chr, csid -- combination cmd,chr determines name
- local kind = command_name(token)
- local dk = list[kind]
+ local category = command_name(token)
+ local dk = list[category]
if not dk then
-- a bit funny names but this sorts better (easier to study)
dk = { names = { }, found = 0, code = token[1] }
- list[kind] = dk
+ list[category] = dk
end
dk.names[name] = { token[2], token[3] }
dk.found = dk.found + 1
@@ -49,3 +51,24 @@ end
directives.register("system.dumphash", function() dump_hash(false) end)
directives.register("system.dumpdelta", function() dump_hash(true ) end)
+
+local report_dump = logs.reporter("resolvers","dump")
+
+local function saveusedfilesintrees(format)
+ local data = {
+ jobname = environment.jobname or "?",
+ version = environment.version or "?",
+ files = table.sortedkeys(resolvers.instance.foundintrees)
+ }
+ local filename = file.replacesuffix(environment.jobname or "context-job",'jlg')
+ if format == "lua" then
+ io.savedata(filename,table.serialize(data,true))
+ else
+ io.savedata(filename,table.toxml(data,"job"))
+ end
+end
+
+directives.register("system.dumpfiles", function(v)
+ luatex.registerstopactions(function() saveusedfilesintrees(v) end)
+end)
+