summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/context/base/luat-exe.lua
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/context/base/luat-exe.lua')
-rw-r--r--Master/texmf-dist/tex/context/base/luat-exe.lua74
1 files changed, 35 insertions, 39 deletions
diff --git a/Master/texmf-dist/tex/context/base/luat-exe.lua b/Master/texmf-dist/tex/context/base/luat-exe.lua
index dcb28d35f0d..fd93ad3829b 100644
--- a/Master/texmf-dist/tex/context/base/luat-exe.lua
+++ b/Master/texmf-dist/tex/context/base/luat-exe.lua
@@ -1,59 +1,55 @@
--- filename : luat-exe.lua
--- comment : companion to luat-lib.tex
--- author : Hans Hagen, PRAGMA-ADE, Hasselt NL
--- copyright: PRAGMA ADE / ConTeXt Development Team
--- license : see context related readme files
+if not modules then modules = { } end modules ['luat-exe'] = {
+ version = 1.001,
+ comment = "companion to luat-lib.tex",
+ author = "Hans Hagen, PRAGMA-ADE, Hasselt NL",
+ copyright = "PRAGMA ADE / ConTeXt Development Team",
+ license = "see context related readme files"
+}
-if not versions then versions = { } end versions['luat-exe'] = 1.001
if not executer then executer = { } end
executer.permitted = { }
executer.execute = os.execute
function executer.register(...)
+ local ep = executer.permitted
for k,v in pairs({...}) do
- if v == "*" then
- table.insert(executer.permitted, ".*")
- else
- table.insert(executer.permitted, v)
- end
+ ep[#ep+1] = (v == "*" and ".*") or v
end
end
-function executer.finalize() -- todo: os.exec
- do
- local execute = os.execute
- function executer.execute(...)
- local t, name, arguments = {...}, "", ""
- if #t == 1 then
- if type(t[1]) == 'table' then
- name, arguments = t[1], table.concat(t," ",2,#t)
- else
- name, arguments = string.match(t[1],"^(.-)%s+(.+)$")
- if not (name and arguments) then
- name, arguments = t[1], ""
- end
- end
- else
+function executer.finalize() -- todo: os.exec, todo: report ipv print
+ local execute = os.execute
+ function executer.execute(...)
+ local t, name, arguments = {...}, "", ""
+ if #t == 1 then
+ if type(t[1]) == 'table' then
name, arguments = t[1], table.concat(t," ",2,#t)
- end
- for _,v in pairs(executer.permitted) do
- if string.find(name,v) then
- execute(name .. " " .. arguments)
- -- print("executed: " .. name .. " " .. arguments)
- else
- print("not permitted: " .. name .. " " .. arguments)
+ else
+ name, arguments = t[1]:match("^(.-)%s+(.+)$")
+ if not (name and arguments) then
+ name, arguments = t[1], ""
end
end
+ else
+ name, arguments = t[1], table.concat(t," ",2,#t)
end
- function executer.finalize()
- print("executer is already finalized")
- end
- function executer.register(name)
- print("executer is already finalized")
+ for _,v in pairs(executer.permitted) do
+ if name:find(v) then
+ execute(name .. " " .. arguments)
+ -- print("executed: " .. name .. " " .. arguments)
+ else
+ print("not permitted: " .. name .. " " .. arguments)
+ end
end
- os.execute = executer.execute
end
+ function executer.finalize()
+ print("executer is already finalized")
+ end
+ function executer.register(name)
+ print("executer is already finalized")
+ end
+ os.execute = executer.execute
end
--~ executer.register('.*')