summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/context/base/luat-exe.lua
diff options
context:
space:
mode:
authorTaco Hoekwater <taco@elvenkind.com>2010-05-24 14:05:02 +0000
committerTaco Hoekwater <taco@elvenkind.com>2010-05-24 14:05:02 +0000
commit57ea7dad48fbf2541c04e434c31bde655ada3ac4 (patch)
tree1f8b43bc7cb92939271e1f5bec610710be69097f /Master/texmf-dist/tex/context/base/luat-exe.lua
parent6ee41e1f1822657f7f23231ec56c0272de3855e3 (diff)
here is context 2010.05.24 13:05
git-svn-id: svn://tug.org/texlive/trunk@18445 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/context/base/luat-exe.lua')
-rw-r--r--Master/texmf-dist/tex/context/base/luat-exe.lua21
1 files changed, 14 insertions, 7 deletions
diff --git a/Master/texmf-dist/tex/context/base/luat-exe.lua b/Master/texmf-dist/tex/context/base/luat-exe.lua
index fd93ad3829b..ca3b751623b 100644
--- a/Master/texmf-dist/tex/context/base/luat-exe.lua
+++ b/Master/texmf-dist/tex/context/base/luat-exe.lua
@@ -1,11 +1,14 @@
if not modules then modules = { } end modules ['luat-exe'] = {
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"
}
+local match, find = string.match, string.find
+local concat = table.concat
+
if not executer then executer = { } end
executer.permitted = { }
@@ -13,7 +16,9 @@ executer.execute = os.execute
function executer.register(...)
local ep = executer.permitted
- for k,v in pairs({...}) do
+ local t = { ... }
+ for k=1,#t do
+ local v = t[k]
ep[#ep+1] = (v == "*" and ".*") or v
end
end
@@ -24,18 +29,20 @@ function executer.finalize() -- todo: os.exec, todo: report ipv print
local t, name, arguments = {...}, "", ""
if #t == 1 then
if type(t[1]) == 'table' then
- name, arguments = t[1], table.concat(t," ",2,#t)
+ name, arguments = t[1], concat(t," ",2,#t)
else
- name, arguments = t[1]:match("^(.-)%s+(.+)$")
+ name, arguments = match(t[1],"^(.-)%s+(.+)$")
if not (name and arguments) then
name, arguments = t[1], ""
end
end
else
- name, arguments = t[1], table.concat(t," ",2,#t)
+ name, arguments = t[1], concat(t," ",2,#t)
end
- for _,v in pairs(executer.permitted) do
- if name:find(v) then
+ local permitted = executer.permitted
+ for k=1,#permitted do
+ local v = permitted[k]
+ if find(name,v) then
execute(name .. " " .. arguments)
-- print("executed: " .. name .. " " .. arguments)
else