summaryrefslogtreecommitdiff
path: root/source3/lua-5.1.4/test/trace-globals.lua
diff options
context:
space:
mode:
authorJelmer Vernooij <jelmer@samba.org>2008-12-19 21:47:45 +0100
committerJelmer Vernooij <jelmer@samba.org>2008-12-19 21:47:45 +0100
commit5076c64d43c68a028ac944c336715b4cb277365f (patch)
treee88fc16979b75b5b30377e84b76ebb1b87e01591 /source3/lua-5.1.4/test/trace-globals.lua
parent6998ef4fe021ebf40f63c2191d3259888a8ad7f4 (diff)
parent13eefa7c435cb5ac656f662c78260a82caf43180 (diff)
downloadsamba-5076c64d43c68a028ac944c336715b4cb277365f.tar.gz
samba-5076c64d43c68a028ac944c336715b4cb277365f.tar.bz2
samba-5076c64d43c68a028ac944c336715b4cb277365f.zip
Merge branch 'master' of ssh://git.samba.org/data/git/samba
Diffstat (limited to 'source3/lua-5.1.4/test/trace-globals.lua')
-rw-r--r--source3/lua-5.1.4/test/trace-globals.lua38
1 files changed, 38 insertions, 0 deletions
diff --git a/source3/lua-5.1.4/test/trace-globals.lua b/source3/lua-5.1.4/test/trace-globals.lua
new file mode 100644
index 0000000000..295e670caa
--- /dev/null
+++ b/source3/lua-5.1.4/test/trace-globals.lua
@@ -0,0 +1,38 @@
+-- trace assigments to global variables
+
+do
+ -- a tostring that quotes strings. note the use of the original tostring.
+ local _tostring=tostring
+ local tostring=function(a)
+ if type(a)=="string" then
+ return string.format("%q",a)
+ else
+ return _tostring(a)
+ end
+ end
+
+ local log=function (name,old,new)
+ local t=debug.getinfo(3,"Sl")
+ local line=t.currentline
+ io.write(t.short_src)
+ if line>=0 then io.write(":",line) end
+ io.write(": ",name," is now ",tostring(new)," (was ",tostring(old),")","\n")
+ end
+
+ local g={}
+ local set=function (t,name,value)
+ log(name,g[name],value)
+ g[name]=value
+ end
+ setmetatable(getfenv(),{__index=g,__newindex=set})
+end
+
+-- an example
+
+a=1
+b=2
+a=10
+b=20
+b=nil
+b=200
+print(a,b,c)