From dde48274b4fd37034b8e1ace42a44ac9b5cbe0f8 Mon Sep 17 00:00:00 2001 From: Manuel Pégourié-Gonnard Date: Sat, 5 Jan 2013 19:38:39 +0000 Subject: texdoc 0.85 (compat with luatex 0.74.0 - lua 5.2) git-svn-id: svn://tug.org/texlive/trunk@28738 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/scripts/texdoc/config.tlu | 2 +- Master/texmf-dist/scripts/texdoc/constants.tlu | 20 +++++++++++++++----- Master/texmf-dist/scripts/texdoc/texdoclib.tlu | 23 ++++++++++++++++++----- 3 files changed, 34 insertions(+), 11 deletions(-) (limited to 'Master/texmf-dist/scripts/texdoc') diff --git a/Master/texmf-dist/scripts/texdoc/config.tlu b/Master/texmf-dist/scripts/texdoc/config.tlu index 0c3640c71c1..ed35d0efd76 100644 --- a/Master/texmf-dist/scripts/texdoc/config.tlu +++ b/Master/texmf-dist/scripts/texdoc/config.tlu @@ -500,7 +500,7 @@ function setup_config_and_alias(arg) real_set_config('interact_switch', false) end -- debug implies verbose - if table.maxn(config.debug_list) > 0 then + if #config.debug_list > 0 then real_set_config('verbosity_level', tonumber(C.max_verbosity)) end -- we were waiting for config.debug_list to be known to do this diff --git a/Master/texmf-dist/scripts/texdoc/constants.tlu b/Master/texmf-dist/scripts/texdoc/constants.tlu index 872a3ac7b93..02d608440da 100644 --- a/Master/texmf-dist/scripts/texdoc/constants.tlu +++ b/Master/texmf-dist/scripts/texdoc/constants.tlu @@ -6,15 +6,21 @@ local constants = {} local kpse = kpse local setfenv = setfenv -local texdoc_env = getfenv() -setfenv(1, constants) +local texdoc_env +if setfenv then + texdoc_env = getfenv() + setfenv(1, constants) +else + texdoc_env = _ENV + _ENV = constants +end -- BEGIN constants -- progname and version fullname = kpse.find_file('texdoc/texdoclib', 'lua') progname = 'texdoc' -version = '0.84' +version = '0.85' -- make sure to update setup_config_from_cl() accordingly -- and set a default value in setup_config_from_defaults() if relevant @@ -48,7 +54,7 @@ Report bugs to . Full manual available via `texdoc texdoc'.]] copyright_msg = [[ -Copyright (C) 2008-2011 Manuel P'egouri'e-Gonnard. +Copyright (C) 2008-2013 Manuel P'egouri'e-Gonnard. License GPLv3+: GNU GPL version 3 or later . This is free software: you are free to change and redistribute it.]] @@ -119,7 +125,11 @@ place_holder = '%%s' -- used for viewer commands -- END constants -- get our previous environment back -setfenv(1, texdoc_env) +if setfenv then + setfenv(1, texdoc_env) +else + _ENV = texdoc_env +end -- Make global C a read-only proxy to the local . -- Note this is not deep read-only: C.known_debugs is read-only, but diff --git a/Master/texmf-dist/scripts/texdoc/texdoclib.tlu b/Master/texmf-dist/scripts/texdoc/texdoclib.tlu index ccaad778d93..c92ef185b17 100644 --- a/Master/texmf-dist/scripts/texdoc/texdoclib.tlu +++ b/Master/texmf-dist/scripts/texdoc/texdoclib.tlu @@ -38,15 +38,19 @@ end -- initialise the shared environment with a copy of the global environment local prv_env = simple_copy(_G) -setfenv(1, prv_env) +if setfenv then + setfenv(1, prv_env) +else + _ENV = prv_env +end -- import symbols from a table to the share environment local function import_symbols(symbols, name) for sym, val in pairs(symbols) do assert(val ~= nil, - 'Internal error: '..name..'exporting undefined symbol '..sym..'.') + 'Internal error: '..name..' exporting undefined symbol '..sym..'.') assert(prv_env[sym] == nil, - 'Internal error: '..name..'exporting existing symbol '..sym..'.') + 'Internal error: '..name..' exporting existing symbol '..sym..'.') prv_env[sym] = val end end @@ -55,8 +59,17 @@ end local function texdoc_do(name) local pathname = kpse.find_file('texdoc/'..name, 'lua') assert(pathname, 'Internal error: missing submodule: '..name) - local submod = assert(loadfile (pathname)) - setfenv(submod, simple_copy(prv_env)) + local submod + if setfenv then + submod = assert(loadfile (pathname)) + setfenv(submod, simple_copy(prv_env)) + else + local f = assert(io.open(pathname)) + local s = f:read('*a') + f:close() + submod = assert(load(s, pathname, 'bt', simple_copy(prv_env))) + -- submod = assert(loadfile(pathname, 'bt', simple_copy(prv_env))) + end local symbols = submod() if symbols then import_symbols(symbols, name) end end -- cgit v1.2.3