summaryrefslogtreecommitdiff
path: root/tex/context/base/luat-cnf.lua
diff options
context:
space:
mode:
Diffstat (limited to 'tex/context/base/luat-cnf.lua')
-rw-r--r--tex/context/base/luat-cnf.lua218
1 files changed, 0 insertions, 218 deletions
diff --git a/tex/context/base/luat-cnf.lua b/tex/context/base/luat-cnf.lua
deleted file mode 100644
index 0f6b8598f..000000000
--- a/tex/context/base/luat-cnf.lua
+++ /dev/null
@@ -1,218 +0,0 @@
-if not modules then modules = { } end modules ['luat-cnf'] = {
- version = 1.001,
- comment = "companion to luat-lib.mkiv",
- author = "Hans Hagen, PRAGMA-ADE, Hasselt NL",
- copyright = "PRAGMA ADE / ConTeXt Development Team",
- license = "see context related readme files"
-}
-
-local type, next, tostring, tonumber = type, next, tostring, tonumber
-local format, concat, find, lower, gsub = string.format, table.concat, string.find, string.lower, string.gsub
-
-local report = logs.reporter("system")
-
-local allocate = utilities.storage.allocate
-
-texconfig.kpse_init = false
-texconfig.shell_escape = 't'
-
-luatex = luatex or { }
-local luatex = luatex
-
-texconfig.max_print_line = 100000 -- frozen
-texconfig.max_in_open = 127 -- frozen
-texconfig.error_line = 79 -- frozen
-texconfig.half_error_line = 50 -- frozen
-
-texconfig.expand_depth = 10000 -- 10000
-texconfig.hash_extra = 100000 -- 0
-texconfig.nest_size = 1000 -- 50
-texconfig.max_in_open = 500 -- 15 -- in fact it's limited to 127
-texconfig.max_print_line = 10000 -- 79
-texconfig.max_strings = 500000 -- 15000
-texconfig.param_size = 25000 -- 60
-texconfig.save_size = 50000 -- 4000
-texconfig.save_size = 100000 -- 4000
-texconfig.stack_size = 10000 -- 300
-
-local stub = [[
-
--- checking
-
-storage = storage or { }
-luatex = luatex or { }
-
--- we provide our own file handling
-
-texconfig.kpse_init = false
-texconfig.shell_escape = 't'
-
--- as soon as possible
-
-luatex.starttime = os.gettimeofday()
-
--- this will happen after the format is loaded
-
-function texconfig.init()
-
- -- development
-
- local builtin, globals = { }, { }
-
- libraries = { -- we set it here as we want libraries also 'indexed'
- basiclua = {
- "string", "table", "coroutine", "debug", "file", "io", "lpeg", "math", "os", "package", "bit32",
- },
- basictex = { -- noad
- "callback", "font", "img", "lang", "lua", "node", "pdf", "status", "tex", "texconfig", "texio", "token", "newtoken"
- },
- extralua = {
- "gzip", "zip", "zlib", "lfs", "ltn12", "mime", "socket", "md5", "profiler", "unicode", "utf",
- },
- extratex = {
- "epdf", "fontloader", "kpse", "mplib",
- },
- obsolete = {
- "fontforge", -- can be filled by luat-log
- "kpse",
- "token",
- },
- functions = {
- "assert", "pcall", "xpcall", "error", "collectgarbage",
- "dofile", "load","loadfile", "require", "module",
- "getmetatable", "setmetatable",
- "ipairs", "pairs", "rawequal", "rawget", "rawset", "next",
- "tonumber", "tostring",
- "type", "unpack", "select", "print",
- },
- builtin = builtin, -- to be filled
- globals = globals, -- to be filled
- }
-
- for k, v in next, _G do
- globals[k] = tostring(v)
- end
-
- local function collect(t,fnc)
- local lib = { }
- for k, v in next, t do
- if fnc then
- lib[v] = _G[v]
- else
- local keys = { }
- local gv = _G[v]
- local tv = type(gv)
- if tv == "table" then
- for k, v in next, gv do
- keys[k] = tostring(v) -- true -- by tostring we cannot call overloades functions (security)
- end
- end
- lib[v] = keys
- builtin[v] = keys
- end
- end
- return lib
- end
-
- libraries.basiclua = collect(libraries.basiclua)
- libraries.basictex = collect(libraries.basictex)
- libraries.extralua = collect(libraries.extralua)
- libraries.extratex = collect(libraries.extratex)
- libraries.functions = collect(libraries.functions,true)
- libraries.obsolete = collect(libraries.obsolete)
-
- -- shortcut and helper
-
- local bytecode = lua.bytecode
-
- local function init(start)
- local i = start
- local t = os.clock()
- while bytecode[i] do
- bytecode[i]() ;
- bytecode[i] = nil ;
- i = i + 1
- -- collectgarbage('step')
- end
- return i - start, os.clock() - t
- end
-
- -- the stored tables and modules
-
- storage.noftables , storage.toftables = init(0)
- storage.nofmodules, storage.tofmodules = init(%s)
-
- if modules then
- local loaded = package.loaded
- for module, _ in next, modules do
- loaded[module] = true
- end
- end
-
- texconfig.init = function() end
-
-end
-
--- we provide a qualified path
-
-callback.register('find_format_file',function(name)
- texconfig.formatname = name
- return name
-end)
-
--- done, from now on input and callbacks are internal
-]]
-
-local variablenames = {
- error_line = false,
- half_error_line = false,
- max_print_line = false,
- max_in_open = false,
- expand_depth = true,
- hash_extra = true,
- nest_size = true,
- max_strings = true,
- param_size = true,
- save_size = true,
- stack_size = true,
-}
-
-local function makestub()
- name = name or (environment.jobname .. ".lui")
- report("creating stub file %a using directives:",name)
- report()
- firsttable = firsttable or lua.firstbytecode
- local t = {
- "-- this file is generated, don't change it\n",
- "-- configuration (can be overloaded later)\n"
- }
- for v, permitted in table.sortedhash(variablenames) do
- local d = "luatex." .. gsub(lower(v),"[^%a]","")
- local dv = directives.value(d)
- local tv = texconfig[v]
- if dv then
- if not tv then
- report(" %s = %s (%s)",d,dv,"configured")
- tv = dv
- elseif not permitted then
- report(" %s = %s (%s)",d,tv,"frozen")
- elseif tonumber(dv) >= tonumber(tv) then
- report(" %s = %s (%s)",d,dv,"overloaded")
- tv = dv
- else
- report(" %s = %s (%s)",d,tv,"preset kept")
- end
- elseif tv then
- report(" %s = %s (%s)",d,tv,permitted and "preset" or "frozen")
- else
- report(" %s = <unset>",d)
- end
- if tv then
- t[#t+1] = format("texconfig.%s=%s",v,tv)
- end
- end
- io.savedata(name,format("%s\n\n%s",concat(t,"\n"),format(stub,firsttable)))
- logs.newline()
-end
-
-lua.registerfinalizer(makestub,"create stub file")