summaryrefslogtreecommitdiff
path: root/tex/generic/context/luatex/luatex-swiglib.lua
diff options
context:
space:
mode:
Diffstat (limited to 'tex/generic/context/luatex/luatex-swiglib.lua')
-rw-r--r--tex/generic/context/luatex/luatex-swiglib.lua124
1 files changed, 62 insertions, 62 deletions
diff --git a/tex/generic/context/luatex/luatex-swiglib.lua b/tex/generic/context/luatex/luatex-swiglib.lua
index 7ffcdc375..45416eff4 100644
--- a/tex/generic/context/luatex/luatex-swiglib.lua
+++ b/tex/generic/context/luatex/luatex-swiglib.lua
@@ -1,62 +1,62 @@
-if not modules then modules = { } end modules ['luatex-swiglib'] = {
- version = 1.001,
- comment = "companion to luatex-swiglib.tex",
- author = "Hans Hagen, PRAGMA-ADE, Hasselt NL",
- copyright = "PRAGMA ADE / ConTeXt Development Team",
- license = "see context related readme files"
-}
-
-local savedrequire = require
-
-local libsuffix = os.type == "windows" and ".dll" or ".so"
-
-function requireswiglib(required,version)
- local library = package.loaded[required]
- if library then
- return library
- else
- local name = string.gsub(required,"%.","/") .. libsuffix
- local list = kpse.show_path("clua")
- for root in string.gmatch(list,"([^;]+)") do
- local full = false
- if type(version) == "string" and version ~= "" then
- full = root .. "/" .. version .. "/" .. name
- full = lfs.isfile(full) and full
- end
- if not full then
- full = root .. "/" .. name
- full = lfs.isfile(full) and full
- end
- if full then
- local path, base = string.match(full,"^(.-)([^\\/]+)" .. libsuffix .."$")
- local savedlibrary = package.loaded[base]
- package.loaded[base] = nil
- local savedpath = lfs.currentdir()
- lfs.chdir(path)
- library = package.loadlib(full,"luaopen_" .. base)
- if type(library) == "function" then
- library = library()
- texio.write("<swiglib: '",required,"' is loaded>")
- end
- lfs.chdir(savedpath)
- package.loaded[base] = savedlibrary
- package.loaded[required] = library
- return library
- end
- end
- texio.write("<swiglib: '",name,"'is not found on '",list,"'")
- end
- texio.write("<swiglib: '",required,"' is not found>")
-end
-
-function require(name)
- if string.find(name,"^swiglib%.") then
- return requireswiglib(name)
- else
- return savedrequire(name)
- end
-end
-
-function swiglib(name,version)
- return requireswiglib("swiglib." .. name,version)
-end
+if not modules then modules = { } end modules ['luatex-swiglib'] = {
+ version = 1.001,
+ comment = "companion to luatex-swiglib.tex",
+ author = "Hans Hagen, PRAGMA-ADE, Hasselt NL",
+ copyright = "PRAGMA ADE / ConTeXt Development Team",
+ license = "see context related readme files"
+}
+
+local savedrequire = require
+
+local libsuffix = os.type == "windows" and ".dll" or ".so"
+
+function requireswiglib(required,version)
+ local library = package.loaded[required]
+ if library then
+ return library
+ else
+ local name = string.gsub(required,"%.","/") .. libsuffix
+ local list = kpse.show_path("clua")
+ for root in string.gmatch(list,"([^;]+)") do
+ local full = false
+ if type(version) == "string" and version ~= "" then
+ full = root .. "/" .. version .. "/" .. name
+ full = lfs.isfile(full) and full
+ end
+ if not full then
+ full = root .. "/" .. name
+ full = lfs.isfile(full) and full
+ end
+ if full then
+ local path, base = string.match(full,"^(.-)([^\\/]+)" .. libsuffix .."$")
+ local savedlibrary = package.loaded[base]
+ package.loaded[base] = nil
+ local savedpath = lfs.currentdir()
+ lfs.chdir(path)
+ library = package.loadlib(full,"luaopen_" .. base)
+ if type(library) == "function" then
+ library = library()
+ texio.write("<swiglib: '",required,"' is loaded>")
+ end
+ lfs.chdir(savedpath)
+ package.loaded[base] = savedlibrary
+ package.loaded[required] = library
+ return library
+ end
+ end
+ texio.write("<swiglib: '",name,"'is not found on '",list,"'")
+ end
+ texio.write("<swiglib: '",required,"' is not found>")
+end
+
+function require(name)
+ if string.find(name,"^swiglib%.") then
+ return requireswiglib(name)
+ else
+ return savedrequire(name)
+ end
+end
+
+function swiglib(name,version)
+ return requireswiglib("swiglib." .. name,version)
+end