Software /
code /
prosody
Comparison
core/configmanager.lua @ 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 |
parent | 13388:de6c1a170871 |
child | 13390:905a6009f60d |
comparison
equal
deleted
inserted
replaced
13388:de6c1a170871 | 13389:47d0d80da208 |
---|---|
127 Include = true, include = true, RunScript = true }, { | 127 Include = true, include = true, RunScript = true }, { |
128 __index = function (_, k) | 128 __index = function (_, k) |
129 if k:match("^ENV_") then | 129 if k:match("^ENV_") then |
130 return os.getenv(k:sub(5)); | 130 return os.getenv(k:sub(5)); |
131 end | 131 end |
132 if k == "Lua" then | |
133 return _G; | |
134 end | |
132 local val = rawget_option(config_table, env.__currenthost or "*", k); | 135 local val = rawget_option(config_table, env.__currenthost or "*", k); |
136 | |
133 if val ~= nil then | 137 if val ~= nil then |
134 return val; | 138 return val; |
135 end | 139 end |
136 return rawget(_G, k); | 140 |
141 local g_val = rawget(_G, k); | |
142 | |
143 if g_val ~= nil then | |
144 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)); | |
145 end | |
146 | |
147 return g_val; | |
137 end, | 148 end, |
138 __newindex = function (_, k, v) | 149 __newindex = function (_, k, v) |
139 local host = env.__currenthost or "*"; | 150 local host = env.__currenthost or "*"; |
140 local option_path = host.."/"..k; | 151 local option_path = host.."/"..k; |
141 if set_options[option_path] then | 152 if set_options[option_path] then |