From 46b622576dd029af33faa1d66130056b4fa8362c Mon Sep 17 00:00:00 2001 From: Matthew Wild Date: Thu, 9 Jul 2009 04:34:55 +0100 Subject: mod_console: Check for commands when not executing in the global environment --- plugins/mod_console.lua | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) (limited to 'plugins') diff --git a/plugins/mod_console.lua b/plugins/mod_console.lua index 0d6b5e41..556f0c5d 100644 --- a/plugins/mod_console.lua +++ b/plugins/mod_console.lua @@ -65,7 +65,10 @@ function console_listener.listener(conn, data) (function(session, data) local useglobalenv; - if data:match("[!.]$") then + if data:match("^>") then + data = data:gsub("^>", ""); + useglobalenv = true; + else local command = data:lower(); command = data:match("^%w+") or data:match("%p"); if commands[command] then @@ -74,11 +77,6 @@ function console_listener.listener(conn, data) end end - if data:match("^>") then - data = data:gsub("^>", ""); - useglobalenv = true; - end - session.env._ = data; local chunk, err = loadstring("return "..data); @@ -97,6 +95,11 @@ function console_listener.listener(conn, data) local ranok, taskok, message = pcall(chunk); + if not (ranok or message or useglobalenv) and commands[data:lower()] then + commands[data:lower()](session, data); + return; + end + if not ranok then session.print("Fatal error while running command, it did not complete"); session.print("Error: "..taskok); -- cgit v1.2.3