# HG changeset patch # User Matthew Wild # Date 1222820299 -3600 # Node ID 091f91a1f67aa2cc6d47740f527fbe56c2345e22 # Parent a4de5ab077ab8c103526c71ef30dd3bd5753a1fb Let modules set/write globals diff -r a4de5ab077ab -r 091f91a1f67a main.lua --- a/main.lua Tue Sep 30 21:35:39 2008 +0100 +++ b/main.lua Wed Oct 01 01:18:19 2008 +0100 @@ -162,9 +162,10 @@ sessions[conn].disconnect(err); end +modulemanager.loadall(); + setmetatable(_G, { __index = function (t, k) print("WARNING: ATTEMPT TO READ A NIL GLOBAL!!!", k); error("Attempt to read a non-existent global. Naughty boy.", 2); end, __newindex = function (t, k, v) print("ATTEMPT TO SET A GLOBAL!!!!", tostring(k).." = "..tostring(v)); error("Attempt to set a global. Naughty boy.", 2); end }) --]][][[]][]; -modulemanager.loadall(); local protected_handler = function (conn, data, err) local success, ret = pcall(handler, conn, data, err); if not success then print("ERROR on "..tostring(conn)..": "..ret); conn:close(); end end; local protected_disconnect = function (conn, err) local success, ret = pcall(disconnect, conn, err); if not success then print("ERROR on "..tostring(conn).." disconnect: "..ret); conn:close(); end end;