summaryrefslogtreecommitdiff
path: root/scripts/context/ruby/base/tex.rb
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/context/ruby/base/tex.rb')
-rw-r--r--scripts/context/ruby/base/tex.rb34
1 files changed, 34 insertions, 0 deletions
diff --git a/scripts/context/ruby/base/tex.rb b/scripts/context/ruby/base/tex.rb
index 5e357e6d7..a6403dcde 100644
--- a/scripts/context/ruby/base/tex.rb
+++ b/scripts/context/ruby/base/tex.rb
@@ -1724,6 +1724,40 @@ class TEX
runbackend(rawbase)
popresult(rawbase,result)
end
+ if true then # autopurge
+ begin
+ File.open(File.suffixed(rawbase, 'tuo')) do |f|
+ ok = 0
+ f.each do |line|
+ case ok
+ when 1 then
+ # next line is empty
+ ok = 2
+ when 2 then
+ if line =~ /^\%\s+\>\s+(.*?)\s+(\d+)/mois then
+ filename, n = $1, $2
+ done = File.delete(filename) rescue false
+ if done && getvariable('verbose') then
+ report("deleting #{filename} (#{n} times used)")
+ end
+ else
+ break
+ end
+ else
+ if line =~ /^\%\s+temporary files\:\s+(\d+)/mois then
+ if $1.to_i == 0 then
+ break
+ else
+ ok = 1
+ end
+ end
+ end
+ end
+ end
+ rescue
+ report("fatal error #{$!}")
+ end
+ end
end
Kpse.runscript('ctxtools',rawbase,'--purge') if getvariable('purge')