diff --git a/src/addon/java/lua/addon/luacompat/LuaCompat.java b/src/addon/java/lua/addon/luacompat/LuaCompat.java index f8ad44c4..5fd19702 100644 --- a/src/addon/java/lua/addon/luacompat/LuaCompat.java +++ b/src/addon/java/lua/addon/luacompat/LuaCompat.java @@ -454,6 +454,7 @@ public class LuaCompat extends LFunction { // return true if laoded, false if error put onto the stack private static boolean loadis(VM vm, InputStream is, String chunkname ) { try { + vm.setResult(); if ( 0 != vm.lua_load(is, chunkname) ) { vm.setErrorResult( LNil.NIL, "cannot load "+chunkname+": "+vm.lua_tolvalue(-1) ); return false; @@ -467,7 +468,7 @@ public class LuaCompat extends LFunction { // return true if loaded, false if error put onto stack - public static boolean loadfile( VM vm, String fileName ) { + private static boolean loadfile( VM vm, String fileName ) { InputStream is; String script; diff --git a/src/main/java/lua/value/LFunction.java b/src/main/java/lua/value/LFunction.java index 9aef0110..2aadc956 100644 --- a/src/main/java/lua/value/LFunction.java +++ b/src/main/java/lua/value/LFunction.java @@ -32,8 +32,7 @@ public class LFunction extends LValue { vm.setExpectedResultCount( 1 ); if ( this.luaStackCall( vm ) ) vm.execute(); - else - vm.adjustResults(); + vm.adjustResults(); } public LString luaGetType() { diff --git a/src/test/java/LuacRunner.java b/src/test/java/LuacRunner.java index fbe9c293..f247ed2b 100644 --- a/src/test/java/LuacRunner.java +++ b/src/test/java/LuacRunner.java @@ -5,6 +5,8 @@ import java.io.InputStream; import lua.StackState; import lua.VM; import lua.addon.luacompat.LuaCompat; +import lua.addon.luajava.LuaJava; +import lua.debug.DebugStackState; import lua.io.Closure; import lua.io.LoadState; import lua.io.Proto; @@ -25,9 +27,10 @@ public class LuacRunner { // add LuaCompat bindings LuaCompat.install(); + LuaJava.install(); // new lua state - StackState state = new StackState(); + StackState state = new DebugStackState(); VM vm = state; // load the file