1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-28 07:21:54 +03:00
samba-mirror/source3/lua-5.1.4/test/trace-globals.lua
Volker Lendecke 390f19b649 Add the Lua distibution from http://www.lua.org/ftp/lua-5.1.4.tar.gz
Available under the MIT license.

Adding it to see how the build farm likes it. They claim to be 100% pure
ANSI C and compile everywhere. Lets see. If it breaks badly, we can remove
it again.
2008-12-17 12:57:18 +01:00

39 lines
728 B
Lua

-- 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)