summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/context/base/data-tex.lua
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/context/base/data-tex.lua')
-rw-r--r--Master/texmf-dist/tex/context/base/data-tex.lua37
1 files changed, 21 insertions, 16 deletions
diff --git a/Master/texmf-dist/tex/context/base/data-tex.lua b/Master/texmf-dist/tex/context/base/data-tex.lua
index 16b6b125f4a..c9fa3625a66 100644
--- a/Master/texmf-dist/tex/context/base/data-tex.lua
+++ b/Master/texmf-dist/tex/context/base/data-tex.lua
@@ -1,6 +1,6 @@
if not modules then modules = { } end modules ['data-tex'] = {
version = 1.001,
- comment = "companion to luat-lib.tex",
+ comment = "companion to luat-lib.mkiv",
author = "Hans Hagen, PRAGMA-ADE, Hasselt NL",
copyright = "PRAGMA ADE / ConTeXt Development Team",
license = "see context related readme files"
@@ -9,6 +9,7 @@ if not modules then modules = { } end modules ['data-tex'] = {
-- special functions that deal with io
local format, lower = string.format, string.lower
+local unpack = unpack or table.unpack
local trace_locating = false trackers.register("resolvers.locating", function(v) trace_locating = v end)
@@ -21,18 +22,19 @@ function finders.generic(tag,filename,filetype)
local foundname = resolvers.find_file(filename,filetype)
if foundname and foundname ~= "" then
if trace_locating then
- logs.report("fileio",'+ finder: %s, file: %s', tag,filename)
+ logs.report("fileio","%s finder: file '%s' found",tag,filename)
end
return foundname
else
if trace_locating then
- logs.report("fileio",'- finder: %s, file: %s', tag,filename)
+ logs.report("fileio","%s finder: unknown file '%s'",tag,filename)
end
return unpack(finders.notfound)
end
end
---~ local getlines = lpeg.Ct(lpeg.linebyline)
+--~ local lpegmatch = lpeg.match
+--~ local getlines = lpeg.Ct(lpeg.patterns.textline)
local input_translator, utf_translator, user_translator = nil, nil, nil
@@ -47,7 +49,7 @@ function openers.text_opener(filename,file_handle,tag)
local t = { }
if u > 0 then
if trace_locating then
- logs.report("fileio",'+ opener: %s (%s), file: %s',tag,unicode.utfname[u],filename)
+ logs.report("fileio","%s opener, file '%s' opened using method '%s'",tag,filename,unicode.utfname[u])
end
local l
if u > 2 then
@@ -64,7 +66,7 @@ function openers.text_opener(filename,file_handle,tag)
noflines = #l,
close = function()
if trace_locating then
- logs.report("fileio",'= closer: %s (%s), file: %s',tag,unicode.utfname[u],filename)
+ logs.report("fileio","%s closer, file '%s' closed",tag,filename)
end
logs.show_close(filename)
t = nil
@@ -99,10 +101,10 @@ function openers.text_opener(filename,file_handle,tag)
}
else
if trace_locating then
- logs.report("fileio",'+ opener: %s, file: %s',tag,filename)
+ logs.report("fileio","%s opener, file '%s' opened",tag,filename)
end
-- todo: file;name -> freeze / eerste regel scannen -> freeze
- --~ local data = getlines:match(file_handle:read("*a"))
+ --~ local data = lpegmatch(getlines,file_handle:read("*a"))
--~ local n = 0
t = {
reader = function() -- self
@@ -129,12 +131,12 @@ function openers.text_opener(filename,file_handle,tag)
end,
close = function()
if trace_locating then
- logs.report("fileio",'= closer: %s, file: %s',tag,filename)
+ logs.report("fileio","%s closer, file '%s' closed",tag,filename)
end
logs.show_close(filename)
file_handle:close()
t = nil
-collectgarbage("step")
+ collectgarbage("step") -- saves some memory
end,
handle = function()
return file_handle
@@ -152,12 +154,15 @@ function openers.generic(tag,filename)
if filename and filename ~= "" then
local f = io.open(filename,"r")
if f then
- logs.show_open(filename)
+ logs.show_open(filename) -- todo
+ if trace_locating then
+ logs.report("fileio","%s opener, file '%s' opened",tag,filename)
+ end
return openers.text_opener(filename,f,tag)
end
end
if trace_locating then
- logs.report("fileio",'- opener: %s, file: %s',tag,filename)
+ logs.report("fileio","%s opener, file '%s' not found",tag,filename)
end
return unpack(openers.notfound)
end
@@ -168,7 +173,7 @@ function loaders.generic(tag,filename)
if f then
logs.show_load(filename)
if trace_locating then
- logs.report("fileio",'+ loader: %s, file: %s',tag,filename)
+ logs.report("fileio","%s loader, file '%s' loaded",tag,filename)
end
local s = f:read("*a")
if garbagecollector and garbagecollector.check then garbagecollector.check(#s) end
@@ -179,7 +184,7 @@ function loaders.generic(tag,filename)
end
end
if trace_locating then
- logs.report("fileio",'- loader: %s, file: %s',tag,filename)
+ logs.report("fileio","%s loader, file '%s' not found",tag,filename)
end
return unpack(loaders.notfound)
end
@@ -197,11 +202,11 @@ function loaders.tex(filename)
end
function resolvers.findtexfile(filename, filetype)
- return resolvers.methodhandler('finders',file.collapse_path(filename), filetype)
+ return resolvers.methodhandler('finders',filename, filetype)
end
function resolvers.opentexfile(filename)
- return resolvers.methodhandler('openers',file.collapse_path(filename))
+ return resolvers.methodhandler('openers',filename)
end
function resolvers.openfile(filename)