summaryrefslogtreecommitdiff
path: root/share/lua/test/readonly.lua
diff options
context:
space:
mode:
authormnicky <xmnicky@gmail.com>2013-11-05 10:59:48 +0100
committermnicky <xmnicky@gmail.com>2013-11-05 10:59:48 +0100
commitc458b53b732dbdcb72a80c76794881e6db21f3ed (patch)
tree1f2655f1479fc4a21dda0a1b5a33796e791b5b40 /share/lua/test/readonly.lua
downloadlua-Debian-x86_64.tar.gz
[luadist-git] add lua-5.1.5-Debian-x86_64 [ci skip]5.1.5-Debian-x86_64Debian-x86_64
Diffstat (limited to 'share/lua/test/readonly.lua')
-rw-r--r--share/lua/test/readonly.lua12
1 files changed, 12 insertions, 0 deletions
diff --git a/share/lua/test/readonly.lua b/share/lua/test/readonly.lua
new file mode 100644
index 0000000..85c0b4e
--- /dev/null
+++ b/share/lua/test/readonly.lua
@@ -0,0 +1,12 @@
+-- make global variables readonly
+
+local f=function (t,i) error("cannot redefine global variable `"..i.."'",2) end
+local g={}
+local G=getfenv()
+setmetatable(g,{__index=G,__newindex=f})
+setfenv(1,g)
+
+-- an example
+rawset(g,"x",3)
+x=2
+y=1 -- cannot redefine `y'