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