From cc0f97362895d83bb8ebb96434a82df65be5ff39 Mon Sep 17 00:00:00 2001 From: Matthew Wild Date: Fri, 8 Dec 2023 14:24:49 +0000 Subject: configmanager: Make _G accessible via `Lua` variable, deprecate direct access --- core/configmanager.lua | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/core/configmanager.lua b/core/configmanager.lua index 9a66ad13..ce787929 100644 --- a/core/configmanager.lua +++ b/core/configmanager.lua @@ -129,11 +129,22 @@ do if k:match("^ENV_") then return os.getenv(k:sub(5)); end + if k == "Lua" then + return _G; + end local val = rawget_option(config_table, env.__currenthost or "*", k); + if val ~= nil then return val; end - return rawget(_G, k); + + local g_val = rawget(_G, k); + + if g_val ~= nil then + t_insert(warnings, ("%s:%d: direct usage of the Lua API is deprecated - replace `%s` with `Lua.%s`"):format(config_file, get_line_number(config_file), k, k)); + end + + return g_val; end, __newindex = function (_, k, v) local host = env.__currenthost or "*"; -- cgit v1.2.3