summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/luatex/lualibs/lualibs-basic.lua
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/luatex/lualibs/lualibs-basic.lua')
-rw-r--r--Master/texmf-dist/tex/luatex/lualibs/lualibs-basic.lua127
1 files changed, 127 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/luatex/lualibs/lualibs-basic.lua b/Master/texmf-dist/tex/luatex/lualibs/lualibs-basic.lua
new file mode 100644
index 00000000000..630f2cce588
--- /dev/null
+++ b/Master/texmf-dist/tex/luatex/lualibs/lualibs-basic.lua
@@ -0,0 +1,127 @@
+--
+-- 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'.