diff options
author | Karl Berry <karl@freefriends.org> | 2013-05-09 22:49:27 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2013-05-09 22:49:27 +0000 |
commit | ba7a533d2793a7bc818793ee21435064706085b0 (patch) | |
tree | ec2f111bc67eae49a2231531332ecc72bc0550c2 /Master/texmf-dist/tex/luatex/lualibs/lualibs.lua | |
parent | 2fdcd946d3eb65fa262e4594f5d2d00f157b1407 (diff) |
lualibs (9may13)
git-svn-id: svn://tug.org/texlive/trunk@30350 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/luatex/lualibs/lualibs.lua')
-rw-r--r-- | Master/texmf-dist/tex/luatex/lualibs/lualibs.lua | 73 |
1 files changed, 10 insertions, 63 deletions
diff --git a/Master/texmf-dist/tex/luatex/lualibs/lualibs.lua b/Master/texmf-dist/tex/luatex/lualibs/lualibs.lua index c6f4d8a3963..ae498b20de5 100644 --- a/Master/texmf-dist/tex/luatex/lualibs/lualibs.lua +++ b/Master/texmf-dist/tex/luatex/lualibs/lualibs.lua @@ -16,59 +16,6 @@ -- -- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% --- 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 { } @@ -87,13 +34,9 @@ lualibs.module_info = { 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 +lualibs.prefer_merged = config.lualibs.prefer_merged or true +lualibs.load_extended = config.lualibs.load_extended or true +config.lualibs.verbose = config.lualibs.verbose or false local dofile = dofile @@ -141,13 +84,17 @@ end lualibs.loadmodule = loadmodule -if lualibs.basic_loaded ~= true then +if lualibs.basic_loaded ~= true +or config.lualibs.force_reload == 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 +if lualibs.load_extended == true +and lualibs.extended_loaded ~= true +or config.lualibs.force_reload == true +then loadmodule"lualibs-extended.lua" end |