Mercurial Hosting > luan
diff src/luan/tools/CmdLine.java @ 40:e3624b7cd603
implement stack trace
git-svn-id: https://luan-java.googlecode.com/svn/trunk@41 21e917c8-12df-6dd8-5cb6-c86387c605b9
author | fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9> |
---|---|
date | Fri, 21 Dec 2012 10:45:54 +0000 |
parents | e5bcb1eeafc1 |
children | 786699c78837 |
line wrap: on
line diff
--- a/src/luan/tools/CmdLine.java Thu Dec 20 02:54:06 2012 +0000 +++ b/src/luan/tools/CmdLine.java Fri Dec 21 10:45:54 2012 +0000 @@ -15,10 +15,11 @@ public class CmdLine { - public static void main(String[] args) throws Exception { + public static void main(String[] args) { LuaState lua = LuaCompiler.newLuaState(); BasicLib.register(lua); JavaLib.register(lua); + BasicLib.make_standard(lua); boolean interactive = false; boolean showVersion = false; int i = 0; @@ -39,15 +40,15 @@ error("'-e' needs argument"); String cmd = args[i]; try { - LuaFunction fn = BasicLib.load(lua,cmd); - fn.call(lua); + LuaFunction fn = BasicLib.load(lua,cmd,"(command line)"); + lua.call(fn,null,null); } catch(LuaException e) { System.err.println("command line error: "+e.getMessage()); System.exit(-1); } } else if( arg.equals("-") ) { try { - BasicLib.do_file(lua,null); + BasicLib.do_file(lua,"stdin"); } catch(LuaException e) { System.err.println(e.getMessage()); System.exit(-1); @@ -72,10 +73,10 @@ lua.global().put("arg",argsTable); try { LuaFunction fn = BasicLib.load_file(lua,file); - fn.call(lua,varArgs); + lua.call(fn,null,null,varArgs); } catch(LuaException e) { -// System.err.println(e.getMessage()); - e.printStackTrace(); + System.err.println(e); +// e.printStackTrace(); System.exit(-1); } } @@ -102,8 +103,8 @@ System.out.print("> "); String input = new Scanner(System.in).nextLine(); try { - LuaFunction fn = BasicLib.load(lua,input); - Object[] rtn = fn.call(lua); + LuaFunction fn = BasicLib.load(lua,input,"stdin"); + Object[] rtn = lua.call(fn,null,null); if( rtn.length > 0 ) BasicLib.print(lua,rtn); } catch(LuaException e) {