summaryrefslogtreecommitdiff
path: root/tex/context/base/grph-inc.lua
diff options
context:
space:
mode:
Diffstat (limited to 'tex/context/base/grph-inc.lua')
-rw-r--r--tex/context/base/grph-inc.lua29
1 files changed, 25 insertions, 4 deletions
diff --git a/tex/context/base/grph-inc.lua b/tex/context/base/grph-inc.lua
index 19429c5b5..83b395f2e 100644
--- a/tex/context/base/grph-inc.lua
+++ b/tex/context/base/grph-inc.lua
@@ -525,10 +525,10 @@ local function locate(request) -- name, format, cache
local askedconversion = request.conversion
local askedresolution = request.resolution
if askedformat ~= "" then
+ askedformat = lower(askedformat)
if trace_figures then
- report_inclusion("strategy: forced format")
+ report_inclusion("strategy: forced format %s",askedformat)
end
- askedformat = lower(askedformat)
local format = figures.suffixes[askedformat]
if not format then
local figurepatterns = figures.patterns
@@ -541,7 +541,7 @@ local function locate(request) -- name, format, cache
end
end
if format then
- local foundname = figures.exists(askedname,format,resolve_too) -- not askedformat
+ local foundname, quitscanning = figures.exists(askedname,format,resolve_too) -- not askedformat
if foundname then
return register(askedname, {
askedname = askedname,
@@ -552,7 +552,11 @@ local function locate(request) -- name, format, cache
conversion = askedconversion,
resolution = askedresolution,
})
+ elseif quitscanning then
+ return register(askedname)
end
+ elseif trace_figures then
+ report_inclusion("strategy: unknown format %s",askedformat)
end
if askedpath then
-- path and type given, todo: strip pieces of path
@@ -742,23 +746,28 @@ function figures.identify(data)
end
return data
end
+
function figures.exists(askedname,format,resolve)
return (existers[format] or existers.generic)(askedname,resolve)
end
+
function figures.check(data)
data = data or figures.current()
local dr, du, ds = data.request, data.used, data.status
return (checkers[ds.format] or checkers.generic)(data)
end
+
function figures.include(data)
data = data or figures.current()
local dr, du, ds = data.request, data.used, data.status
return (includers[ds.format] or includers.generic)(data)
end
+
function figures.scale(data) -- will become lua code
context.doscalefigure()
return data
end
+
function figures.done(data)
figures.nofprocessed = figures.nofprocessed + 1
data = data or figures.current()
@@ -960,6 +969,7 @@ function existers.mps(askedname)
return existers.generic(askedname)
end
end
+
function checkers.mps(data)
local mprun, mpnum = internal(data.used.fullname)
if mpnum then
@@ -968,6 +978,7 @@ function checkers.mps(data)
return checkers.nongeneric(data,function() context.docheckfiguremps(data.used.fullname) end)
end
end
+
includers.mps = includers.nongeneric
-- -- -- tex -- -- --
@@ -976,25 +987,35 @@ function existers.tex(askedname)
askedname = resolvers.findfile(askedname)
return (askedname ~= "" and askedname) or false
end
+
function checkers.tex(data)
return checkers.nongeneric(data,function() context.docheckfiguretex(data.used.fullname) end)
end
+
includers.tex = includers.nongeneric
-- -- -- buffer -- -- --
-existers.buffer = existers.tex
+function existers.buffer(askedname)
+ local name = file.nameonly(askedname)
+ local okay = buffers.exists(name)
+ return okay and name, true -- always quit scanning
+end
+
function checkers.buffer(data)
return checkers.nongeneric(data,function() context.docheckfigurebuffer(file.nameonly(data.used.fullname)) end)
end
+
includers.buffers = includers.nongeneric
-- -- -- cld -- -- --
existers.cld = existers.tex
+
function checkers.cld(data)
return checkers.nongeneric(data,function() context.docheckfigurecld(data.used.fullname) end)
end
+
includers.cld = includers.nongeneric
-- -- -- converters -- -- --