Changeset

13389:47d0d80da208

configmanager: Make _G accessible via `Lua` variable, deprecate direct access
author Matthew Wild <mwild1@gmail.com>
date Fri, 08 Dec 2023 14:24:49 +0000
parents 13388:de6c1a170871
children 13390:905a6009f60d
files core/configmanager.lua
diffstat 1 files changed, 12 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/core/configmanager.lua	Fri Dec 08 13:36:51 2023 +0000
+++ b/core/configmanager.lua	Fri Dec 08 14:24:49 2023 +0000
@@ -129,11 +129,22 @@
 					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 "*";