diff options
Diffstat (limited to 'tex/context/base/mkiv/grph-fil.lua')
-rw-r--r-- | tex/context/base/mkiv/grph-fil.lua | 26 |
1 files changed, 24 insertions, 2 deletions
diff --git a/tex/context/base/mkiv/grph-fil.lua b/tex/context/base/mkiv/grph-fil.lua index 155d4211b..b39807830 100644 --- a/tex/context/base/mkiv/grph-fil.lua +++ b/tex/context/base/mkiv/grph-fil.lua @@ -57,10 +57,32 @@ function jobfiles.run(name,action) local oldchecksum = collected[usedname] local newchecksum = checksum(usedname) local resultfile = replacesuffix(usedname,resultsuffix) - if jobfiles.forcerun or not oldchecksum or oldchecksum ~= newchecksum or not isfile(resultfile) then + local tobedone = false + if jobfiles.forcerun then + tobedone = true if trace_run then - report_run("processing file, changes in %a, processing forced",name) + report_run("processing file, changes in %a, %s",name,"processing forced") end + end + if not tobedone and not oldchecksum then + tobedone = true + if trace_run then + report_run("processing file, changes in %a, %s",name,"no checksum yet") + end + end + if not tobedone and oldchecksum ~= newchecksum then + tobedone = true + if trace_run then + report_run("processing file, changes in %a, %s",name,"checksum mismatch") + end + end + if not tobedone and not isfile(resultfile) then + tobedone = true + if trace_run then + report_run("processing file, changes in %a, %s",name,"no result file") + end + end + if tobedone then local ta = type(action) if ta == "function" then action(name) |