Module:No globals
Module documentation​[​view​] [edit] [history] [purge]
This Lua module is used in system messages, and on approximately 17,200,000 pages, or roughly 32% of all pages.
Changes to it can cause immediate changes to the Wikipedia user interface.
To avoid major disruption and server load, any changes should be tested in the module's /sandbox or /testcases subpages, or in your own module sandbox. The tested changes can be added to this page in a single edit. Please discuss changes on the talk page before implementing them.
This module is subject to page protection. It is a highly visible module in use by a very large number of pages, or is substituted very frequently. Because vandalism or mistakes would affect many pages, and even trivial editing might cause substantial load on the servers, it is protected from editing.
This module causes an error if any nil global is read or if any global is written to, with the exception of arg. To use, add
require('Module:No globals')
to the top of the module using it. The arg variable is excluded because it is necessary for Scribunto's require function to work properly. (See the Scribunto source code here.)
See also
Module:Log globals – adds all nil global reads/writes to the lua log
The above documentation is transcluded from Module:No globals/doc. (edit | history)
Editors can experiment in this module's sandbox (edit | diff) and testcases (create) pages.
Subpages of this module.
local mt = getmetatable(_G) or {}function mt.__index (t, k) if k ~= 'arg' then error('Tried to read nil global ' .. tostring(k), 2) end return nilendfunction mt.__newindex(t, k, v) if k ~= 'arg' then error('Tried to write global ' .. tostring(k), 2) end rawset(t, k, v​)​end​setmetatable​(​_G​, mt)
Last edited on 1 April 2020, at 06:28
Content is available under CC BY-SA 3.0 unless otherwise noted.
Privacy policy
Terms of Use
HomeRandomNearbyLog inSettingsDonateAbout WikipediaDisclaimers