Improve compatibility with luaj 1.0

This commit is contained in:
James Roseborough
2010-04-17 15:06:28 +00:00
parent ee098145c0
commit 6dfe984172
2 changed files with 3 additions and 2 deletions

View File

@@ -161,7 +161,8 @@ public class PackageLib extends OneArgFunction {
if ( ! value.istable() ) { /* not found? */ if ( ! value.istable() ) { /* not found? */
/* try global variable (and create one if it does not exist) */ /* try global variable (and create one if it does not exist) */
module = findtable( env, modname ); LuaValue globals = LuaThread.getGlobals();
module = findtable( globals, modname );
if ( module == null ) if ( module == null )
error( "name conflict for module '"+modname+"'" ); error( "name conflict for module '"+modname+"'" );
LOADED.set(modname, module); LOADED.set(modname, module);
@@ -283,7 +284,7 @@ public class PackageLib extends OneArgFunction {
LuaValue result = chunk.call(name); LuaValue result = chunk.call(name);
if ( ! result.isnil() ) if ( ! result.isnil() )
LOADED.set( name, result ); LOADED.set( name, result );
else if ( LOADED.get(name) == _SENTINEL ) else if ( (result = LOADED.get(name)) == _SENTINEL )
LOADED.set( name, result = LuaValue.TRUE ); LOADED.set( name, result = LuaValue.TRUE );
return result; return result;
} }