Module:No globals: Difference between revisions
Jump to navigation
Jump to search
m>Ged UK m Protected Module:No globals: High-risk Lua module ([Edit=Allow only template editors and admins] (indefinite) [Move=Allow only template editors and admins] (indefinite)) |
MeowyCats2 (talk | contribs) m 48 revisions imported |
||
(47 intermediate revisions by 35 users not shown) | |||
Line 1: | Line 1: | ||
local mt = getmetatable(_G) or {} | local mt = getmetatable(_G) or {} | ||
function mt.__index (t, k) | function mt.__index (t, k) | ||
if | if k ~= 'arg' then | ||
error(' | -- perf optimization here and below: do not load Module:TNT unless there is an error | ||
error(require('Module:TNT').format('I18n/No globals', 'err-read', tostring(k)), 2) | |||
end | end | ||
return nil | return nil | ||
Line 8: | Line 9: | ||
function mt.__newindex(t, k, v) | function mt.__newindex(t, k, v) | ||
if k ~= 'arg' then | if k ~= 'arg' then | ||
error(' | error(require('Module:TNT').format('I18n/No globals', 'err-write', tostring(k)), 2) | ||
end | end | ||
rawset(t, k, v) | rawset(t, k, v) | ||
end | end | ||
setmetatable(_G, mt) | setmetatable(_G, mt) |