-- -- This is file `lualibs-basic.lua', -- generated with the docstrip utility. -- -- The original source files were: -- -- lualibs.dtx (with options: `basic') -- This is a generated file. -- -- Copyright (C) 2009 by PRAGMA ADE / ConTeXt Development Team -- -- See ConTeXt's mreadme.pdf for the license. -- -- This work consists of the main source file lualibs.dtx -- and the derived file lualibs.lua. -- -- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -- By default, \identifier{lualibs} will not load the libraries individually. -- Instead, it includes two \emphasis{merged packages} that have been compiled -- from the original files. -- This is achieved by means of \identifier{mtx-package}, a script for bundling -- \LUA code shipped with \CONTEXT. -- This concatenates the code of several \LUA files into a single file that is -- both easier to distribute and loading (marginally) faster. -- \identifier{mtx-package} ensures that the code from each file gets its -- own closure and strips newlines and comments, resulting in a smaller payload. -- Another package that relies on it heavily is the font loader as contained in -- \identifier{luaotfload} and \identifier{luatex-fonts}. -- -- If \CONTEXT is installed on the system, the merge files can be created -- by running: -- -- \begin{quote}\begin{verbatim} -- mtxrun --script package --merge lualibs-basic.lua -- mtxrun --script package --merge lualibs-extended.lua -- \end{verbatim}\end{quote} -- -- \noindent -- Of course there is a make target for that: -- -- \begin{quote}\begin{verbatim} -- make merge -- \end{verbatim}\end{quote} -- \noindent -- will take care of assembling the packages from the files distributed with -- \identifier{lualibs}. -- -- For this to work, the syntax of the \LUA file needs to be well-formed: -- files that should be merged must be included via a function -- \verb|loadmodule()|. -- It doesn’t matter if the function actually does something; a dummy will -- suffice. -- Also, the argument to \verb|loadmodule()| must be wrapped in parentheses. -- This rule is quite convenient, actually, since it allows excluding files -- from the merge while still using \verb|loadmodule()| consistently. -- -- \begin{quote}\begin{verbatim} -- ... -- loadmodule("my-lua-file.lua") -- <= will be merged -- loadmodule('my-2nd-file.lua') -- <= will be merged -- loadmodule "my-3rd-file.lua" -- <= will be ignored -- ... -- \end{verbatim}\end{quote} -- -- Note that there is one exception to the packaging: -- \fileent{lualibs-util-jsn.lua} cannot be successfully packaged because -- it follows a different coding convention, returning a \LUA table on exit. -- Therefore, the file is loaded separately as part of the \identifier{extended} -- set like any other \LUA module. -- -- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% lualibs = lualibs or { } local info = lualibs.info local loadmodule = lualibs.loadmodule local lualibs_basic_module = { name = "lualibs-basic", 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 loaded = false --- track success of package loading if lualibs.prefer_merged then info"Loading merged package for collection “basic”." loaded = loadmodule('lualibs-basic-merged.lua') else info"Ignoring merged packages." info"Falling back to individual libraries from collection “basic”." end if loaded == false then loadmodule("lualibs-lua.lua") loadmodule("lualibs-package.lua") loadmodule("lualibs-lpeg.lua") loadmodule("lualibs-function.lua") loadmodule("lualibs-string.lua") loadmodule("lualibs-table.lua") loadmodule("lualibs-boolean.lua") loadmodule("lualibs-number.lua") loadmodule("lualibs-math.lua") loadmodule("lualibs-io.lua") loadmodule("lualibs-os.lua") loadmodule("lualibs-file.lua") loadmodule("lualibs-md5.lua") loadmodule("lualibs-dir.lua") loadmodule("lualibs-unicode.lua") loadmodule("lualibs-url.lua") loadmodule("lualibs-set.lua") end lualibs.basic_loaded = true -- vim:tw=71:sw=2:ts=2:expandtab -- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -- -- End of File `lualibs-basic.lua'.