diff options
-rw-r--r-- | NEWS | 8 | ||||
-rw-r--r-- | README | 42 | ||||
-rw-r--r-- | lualibs.lua | 124 |
3 files changed, 38 insertions, 136 deletions
@@ -1,4 +1,12 @@ History of the lualibs package +2013/05/05 v2.0/ + * sync with Context beta as of 2013.04.29 20:30 + * merge with mtx-package + * split in basic and extended collection, allowing for partial + loading + * include additional files from Context + * drop module() in favor of locals + 2012/10/19 v0.9/ * sync with ConTeXt beta 2012.10.17 * move some files to util-* prefix @@ -1,22 +1,26 @@ - The lualibs generic package +******************************************************************************** + The Lualibs Package +******************************************************************************** Lualibs is a collection of Lua modules useful for general programming. -This work is based on lua modules shipped with ConTeXt, and are made available -this package to be used independent of ConTeXt. +This work is based on Lua modules shipped with ConTeXt, to make them available +for use independent of ConTeXt. + +This package is developed by the LuaLaTeX development team on +<http://github.com/lualatex/lualibs>. See the 'NEWS' file for version history. -This package is developed on <http://github.com/mpg/lualibs>, see the 'NEWS' -file for version history. Installation ------------- +-------------------------------------------------------------------------------- Here are the recommended installation methods (preferred first). The methods "commented out" are currently not available. 1. If you are using TeX Live 2010 or later, use 'tlmgr install lualibs'. - Alternatively, try your (TeX or Linux) distribution's package management system. + Alternatively, use your (TeX or Linux) distribution's package management + system. 2. a. Grab lualibs.tds.zip on CTAN. b. Unzip it at the root of one or your TDS trees. @@ -28,41 +32,55 @@ The methods "commented out" are currently not available. c. See 2c. Manifest --------- +-------------------------------------------------------------------------------- Source files: lualibs.dtx lualibs-boolean.lua + lualibs-compat.lua lualibs-dir.lua lualibs-file.lua + lualibs-function.lua lualibs-io.lua lualibs-lpeg.lua + lualibs-lua.lua lualibs-math.lua lualibs-md5.lua lualibs-number.lua lualibs-os.lua + lualibs-package.lua lualibs-set.lua lualibs-string.lua lualibs-table.lua + lualibs-trac-inf.lua lualibs-unicode.lua lualibs-url.lua + lualibs-util-deb.lua lualibs-util-dim.lua + lualibs-util-env.lua lualibs-util-jsn.lua lualibs-util-lua.lua lualibs-util-mrg.lua + lualibs-util-prs.lua + lualibs-util-sta.lua lualibs-util-sto.lua lualibs-util-str.lua lualibs-util-tab.lua - README + lualibs-util-tpl.lua Makefile NEWS + README Derived files: lualibs.lua + lualibs-basic.lua + lualibs-basic-merged.lua + lualibs-extended.lua + lualibs-extended-merged.lua lualibs.pdf License -------- +-------------------------------------------------------------------------------- This work and the derived files are under the Creative Commons CC0 license. @@ -74,8 +92,8 @@ and a FAQ at http://wiki.creativecommons.org/CC0 -The files lualibs-*.lua are under the GNU GPLv2 license. Their legal notice -starts by: +The files lualibs-*.lua are under the same GNU GPLv2 license as Context. Their +legal notice starts by: " Copyright PRAGMA ADE / ConTeXt Development Team diff --git a/lualibs.lua b/lualibs.lua deleted file mode 100644 index 6ba82cc..0000000 --- a/lualibs.lua +++ /dev/null @@ -1,124 +0,0 @@ -lualibs = lualibs or { } - -lualibs.module_info = { - name = "lualibs", - 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", -} - ---[[doc-- - - The behavior of the lualibs can be configured to some extent. - \begin{itemize} - \item Based on the parameter \verb|lualibs.prefer_merged|, the - libraries can be loaded via the included merged packages or - the individual files. - \item Two classes of libraries are distinguished, mainly because - of a similar distinction in \CONTEXT, but also to make - loading of the less fundamental functionality optional. - While the “basic” collection is always loaded, the - configuration setting \verb|lualibs.load_extended| triggers - inclusion of the extended collection. - \item Verbosity can be increased via the \verb|verbose| switch. - \end{itemize} - ---doc]]-- - -config = config or { } -config.lualibs = config.lualibs or { } - -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 == false - ---[[doc-- - - The lualibs may be loaded in scripts. - To account for the different environment, fallbacks for - the luatexbase facilities are installed. - ---doc]]-- - -local dofile = dofile -local kpsefind_file = kpse.find_file -local stringformat = string.format -local texiowrite_nl = texio.write_nl - -local find_file, error, warn, info -do - local _error, _warn, _info - if luatexbase and luatexbase.provides_module then - _error, _warn, _info = luatexbase.provides_module(lualibs.module_info) - else - _error, _warn, _info = texiowrite_nl, texiowrite_nl, texiowrite_nl - end - - if lualibs.verbose then - error, warn, info = _error, _warn, _info - else - local dummylogger = function ( ) end - error, warn, info = _error, dummylogger, dummylogger - end - lualibs.error, lualibs.warn, lualibs.info = error, warn, info -end - -if luatexbase and luatexbase.find_file then - find_file = luatexbase.find_file -else - kpse.set_program_name"luatex" - find_file = kpsefind_file -end - ---[[doc-- - - The lualibs load a merged package by default. - In order to create one of these, the meta file that includes the - libraries must satisfy certain assumptions \verb|mtx-package| makes - about the coding style. - Most important is that the functions that indicates which files - to include must go by the name \verb|loadmodule()|. - For this reason we define a \verb|loadmodule()| function as a - wrapper around \verb|dofile()|. - ---doc]]-- - -local loadmodule = loadmodule or function (name, t) - if not t then t = "library" end - local filepath = find_file(name, "lua") - if not filepath or filepath == "" then - warn(stringformat("Could not locate %s “%s”.", t, name)) - return false - end - dofile(filepath) - return true -end - -lualibs.loadmodule = loadmodule - ---[[doc-- - - The separation of the “basic” from the “extended” sets coincides - with the split into luat-bas.mkiv and luat-lib.mkiv. - ---doc]]-- - -if lualibs.basic_loaded ~= true then - loadmodule"lualibs-basic.lua" - loadmodule"lualibs-compat.lua" --- restore stuff gone since v1.* -end - -if lualibs.load_extended == true -and lualibs.extended_loaded ~= true then - loadmodule"lualibs-extended.lua" -end - --- vim:tw=71:sw=2:ts=2:expandtab --- End of File `lualibs-basic.lua'. |