diff options
Diffstat (limited to 'tex/context/base/grph-fil.lua')
-rw-r--r-- | tex/context/base/grph-fil.lua | 142 |
1 files changed, 71 insertions, 71 deletions
diff --git a/tex/context/base/grph-fil.lua b/tex/context/base/grph-fil.lua index 9ee90b07a..3449f1779 100644 --- a/tex/context/base/grph-fil.lua +++ b/tex/context/base/grph-fil.lua @@ -1,71 +1,71 @@ -if not modules then modules = { } end modules ['grph-fil'] = {
- version = 1.001,
- comment = "companion to grph-fig.mkiv",
- author = "Hans Hagen, PRAGMA-ADE, Hasselt NL",
- copyright = "PRAGMA ADE / ConTeXt Development Team",
- license = "see context related readme files"
-}
-
-local type = type
-
-local trace_run = false trackers.register("graphic.runfile",function(v) trace_run = v end)
-local report_run = logs.reporter("graphics","run")
-
--- Historically running files is part of graphics processing, so this is why it
--- sits here but is part of the job namespace.
-
-local allocate = utilities.storage.allocate
-
-local collected = allocate()
-local tobesaved = allocate()
-
-local jobfiles = {
- collected = collected,
- tobesaved = tobesaved,
- forcerun = false, -- maybe a directive some day
-}
-
-job.files = jobfiles
-
-local function initializer()
- tobesaved = jobfiles.tobesaved
- collected = jobfiles.collected
-end
-
-job.register('job.files.collected', tobesaved, initializer)
-
-function jobfiles.run(name,action)
- local oldchecksum = collected[name]
- local newchecksum = file.checksum(name)
- if jobfiles.forcerun or not oldchecksum or oldchecksum ~= newchecksum then
- if trace_run then
- report_run("processing file, changes in %a, processing forced",name)
- end
- local ta = type(action)
- if ta == "function" then
- action(name)
- elseif ta == "string" and action ~= "" then
- os.execute(action)
- else
- report_run("processing file, no action given for processing %a",name)
- end
- elseif trace_run then
- report_run("processing file, no changes in %a, not processed",name)
- end
- tobesaved[name] = newchecksum
-end
-
---
-
-function jobfiles.context(name,options)
- if type(name) == "table" then
- local result = { }
- for i=1,#name do
- result[#result+1] = jobfiles.context(name[i],options)
- end
- return result
- else
- jobfiles.run(name,"context ".. (options or "") .. " " .. name)
- return file.replacesuffix(name,"pdf")
- end
-end
+if not modules then modules = { } end modules ['grph-fil'] = { + version = 1.001, + comment = "companion to grph-fig.mkiv", + author = "Hans Hagen, PRAGMA-ADE, Hasselt NL", + copyright = "PRAGMA ADE / ConTeXt Development Team", + license = "see context related readme files" +} + +local type = type + +local trace_run = false trackers.register("graphic.runfile",function(v) trace_run = v end) +local report_run = logs.reporter("graphics","run") + +-- Historically running files is part of graphics processing, so this is why it +-- sits here but is part of the job namespace. + +local allocate = utilities.storage.allocate + +local collected = allocate() +local tobesaved = allocate() + +local jobfiles = { + collected = collected, + tobesaved = tobesaved, + forcerun = false, -- maybe a directive some day +} + +job.files = jobfiles + +local function initializer() + tobesaved = jobfiles.tobesaved + collected = jobfiles.collected +end + +job.register('job.files.collected', tobesaved, initializer) + +function jobfiles.run(name,action) + local oldchecksum = collected[name] + local newchecksum = file.checksum(name) + if jobfiles.forcerun or not oldchecksum or oldchecksum ~= newchecksum then + if trace_run then + report_run("processing file, changes in %a, processing forced",name) + end + local ta = type(action) + if ta == "function" then + action(name) + elseif ta == "string" and action ~= "" then + os.execute(action) + else + report_run("processing file, no action given for processing %a",name) + end + elseif trace_run then + report_run("processing file, no changes in %a, not processed",name) + end + tobesaved[name] = newchecksum +end + +-- + +function jobfiles.context(name,options) + if type(name) == "table" then + local result = { } + for i=1,#name do + result[#result+1] = jobfiles.context(name[i],options) + end + return result + else + jobfiles.run(name,"context ".. (options or "") .. " " .. name) + return file.replacesuffix(name,"pdf") + end +end |