summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lualibs-basic.lua22
-rw-r--r--lualibs-compat.lua2
-rw-r--r--lualibs-extended.lua38
-rw-r--r--lualibs.lua55
4 files changed, 57 insertions, 60 deletions
diff --git a/lualibs-basic.lua b/lualibs-basic.lua
index 8bdaf70..cd28e75 100644
--- a/lualibs-basic.lua
+++ b/lualibs-basic.lua
@@ -1,21 +1,19 @@
--- This is file `lualibs-basic.lua',
-module('lualibs-basic', package.seeall)
+lualibs = lualibs or { }
local lualibs_basic_module = {
name = "lualibs-basic",
- version = 1.01,
- date = "2013/04/10",
- description = "Basic Lua extensions, meta package.",
- author = "Hans Hagen, PRAGMA-ADE, Hasselt NL & Elie Roux",
+ version = 2.00,
+ date = "2013/04/30",
+ description = "ConTeXt Lua libraries -- basic collection.",
+ author = "Hans Hagen, PRAGMA-ADE, Hasselt NL & Elie Roux & Philipp Gesang",
copyright = "PRAGMA ADE / ConTeXt Development Team",
license = "See ConTeXt's mreadme.pdf for the license",
}
-local lualibs = _G.config.lualibs
local error, warn, info = lualibs.error, lualibs.warn, lualibs.info
-local loadmodule = lualibs.loadmodule
-local stringformat = string.format
+local loadmodule = lualibs.loadmodule
+local stringformat = string.format
local loaded = false
if lualibs.prefer_merged then
@@ -46,9 +44,5 @@ if loaded == false then
loadmodule("lualibs-set.lua")
end
--- these don’t look much basic to me:
---l-pdfview.lua
---l-xml.lua
-
+lualibs.basic_loaded = true
-- vim:tw=71:sw=2:ts=2:expandtab
--- End of File `lualibs.lua'.
diff --git a/lualibs-compat.lua b/lualibs-compat.lua
index cb9d8f0..707f26b 100644
--- a/lualibs-compat.lua
+++ b/lualibs-compat.lua
@@ -1,5 +1,7 @@
#!/usr/bin/env texlua
+lualibs = lualibs or { }
+
local stringgsub = string.gsub
local stringlower = string.lower
local next = next
diff --git a/lualibs-extended.lua b/lualibs-extended.lua
index b0aea31..293df39 100644
--- a/lualibs-extended.lua
+++ b/lualibs-extended.lua
@@ -1,23 +1,21 @@
--- This is file `lualibs-extended.lua',
-module('lualibs-extended', package.seeall)
+lualibs = lualibs or { }
local lualibs_extended_module = {
name = "lualibs-extended",
- version = 1.01,
- date = "2013/04/10",
- description = "Basic Lua extensions, meta package.",
- author = "Hans Hagen, PRAGMA-ADE, Hasselt NL & Elie Roux",
+ version = 2.00,
+ date = "2013/04/30",
+ description = "ConTeXt Lua libraries -- extended collection.",
+ author = "Hans Hagen, PRAGMA-ADE, Hasselt NL & Elie Roux & Philipp Gesang",
copyright = "PRAGMA ADE / ConTeXt Development Team",
license = "See ConTeXt's mreadme.pdf for the license",
}
-local lualibs = _G.config.lualibs
local error, warn, info = lualibs.error, lualibs.warn, lualibs.info
-local stringformat = string.format
-local loadmodule = lualibs.loadmodule
-local texiowrite = texio.write
-local texiowrite_nl = texio.write_nl
+local stringformat = string.format
+local loadmodule = lualibs.loadmodule
+local texiowrite = texio.write
+local texiowrite_nl = texio.write_nl
--[[doc--
Here we define some functions that fake the elaborate logging/tracking
@@ -92,12 +90,12 @@ restore it after we are done loading.
local backup_store = { }
local fake_context = function ( )
- if _G.logs then backup_store.logs = _G.logs end
- if _G.trackers then backup_store.trackers = _G.trackers end
- _G.logs = fake_logs"logs"
- _G.trackers = fake_trackers"trackers"
+ if logs then backup_store.logs = logs end
+ if trackers then backup_store.trackers = trackers end
+ logs = fake_logs"logs"
+ trackers = fake_trackers"trackers"
- backup_store.argv = table.fastcopy(_G.arg)
+ backup_store.argv = table.fastcopy(arg)
end
@@ -108,9 +106,9 @@ local unfake_context = function ( )
if backup_store then
local bl, bt = backup_store.logs, backup_store.trackers
local argv = backup_store.argv
- if bl then _G.logs = bl end
- if bt then _G.trackers = bt end
- if argv then _G.arg = argv end
+ if bl then logs = bl end
+ if bt then trackers = bt end
+ if argv then arg = argv end
end
end
@@ -155,5 +153,5 @@ loadmodule"lualibs-util-jsn.lua"--- cannot be merged because of return statement
unfake_context() --- TODO check if this works at runtime
+lualibs.extended_loaded = true
-- vim:tw=71:sw=2:ts=2:expandtab
--- End of File `lualibs-extended.lua'.
diff --git a/lualibs.lua b/lualibs.lua
index f126fb7..aa6a736 100644
--- a/lualibs.lua
+++ b/lualibs.lua
@@ -1,29 +1,30 @@
--- This is file `lualibs.lua',
-module('lualibs', package.seeall)
+lualibs = lualibs or { }
-local lualibs_module = {
+lualibs.module_info = {
name = "lualibs",
- version = 1.01,
- date = "2013/04/10",
- description = "Lua additional functions.",
- author = "Hans Hagen, PRAGMA-ADE, Hasselt NL & Elie Roux",
+ version = 2.00,
+ date = "2013/04/30",
+ description = "ConTeXt Lua standard libraries.",
+ author = "Hans Hagen, PRAGMA-ADE, Hasselt NL & Elie Roux & Philipp Gesang",
copyright = "PRAGMA ADE / ConTeXt Development Team",
license = "See ConTeXt's mreadme.pdf for the license",
}
-_G.config = _G.config or { }
-_G.config.lualibs = _G.config.lualibs or { }
-local lualibs = _G.config.lualibs
+config = config or { }
+config.lualibs = config.lualibs or { }
-if lualibs.prefer_merged == nil then lualibs.prefer_merged = true end
-if lualibs.load_extended == nil then lualibs.load_extended = true end
-lualibs.verbose = lualibs.verbose == true or false
-
-local lpeg, kpse = lpeg, kpse
+if config.lualibs.prefer_merged == nil then
+ lualibs.prefer_merged = true
+end
+if config.lualibs.load_extended == nil then
+ lualibs.load_extended = true
+end
+config.lualibs.verbose = config.lualibs.verbose == true
-local dofile = dofile
-local lpegmatch = lpeg.match
-local stringformat = string.format
+local dofile = dofile
+local kpsefind_file = kpse.find_file
+local stringformat = string.format
+local texiowrit_nl = texio.write_nl
local find_file, error, warn, info
do
@@ -31,10 +32,9 @@ do
if luatexbase and luatexbase.provides_module then
_error, _warn, _info = luatexbase.provides_module(lualibs_module)
else
- _error, _warn, _info = texio.write_nl, texio.write_nl, texio.write_nl -- stub
+ _error, _warn, _info = texiowrite_nl, texiowrite_nl, texiowrite_nl
end
- -- if lualibs.verbose then
if lualibs.verbose then
error, warn, info = _error, _warn, _info
else
@@ -48,12 +48,12 @@ if luatexbase and luatexbase.find_file then
find_file = luatexbase.find_file
else
kpse.set_program_name"luatex"
- find_file = kpse.find_file
+ find_file = kpsefind_file
end
-loadmodule = _G.loadmodule or function (name, t)
+loadmodule = loadmodule or function (name, t)
if not t then t = "library" end
- local filepath = kpse.find_file(name, "lua")
+ local filepath = kpsefind_file(name, "lua")
if not filepath or filepath == "" then
warn(stringformat("Could not locate %s “%s”.", t, name))
return false
@@ -67,10 +67,13 @@ lualibs.loadmodule = loadmodule
The separation of the “basic” from the “extended” sets coincides with
the split into luat-bas.mkiv and luat-lib.mkiv.
--doc]]--
-loadmodule"lualibs-basic.lua"
-loadmodule"lualibs-compat.lua" --- restore stuff gone since v1.*
+if lualibs.basic_loaded ~= true then
+ loadmodule"lualibs-basic.lua"
+ loadmodule"lualibs-compat.lua" --- restore stuff gone since v1.*
+end
-if load_extended == true then
+if lualibs.load_extended == true
+and lualibs.extended_loaded ~= true then
loadmodule"lualibs-extended.lua"
end