Improve compatibility with luaj 1.0

This commit is contained in:
James Roseborough
2010-04-18 21:14:02 +00:00
parent 5a416f177c
commit 494e4206c4
3 changed files with 9 additions and 6 deletions

View File

@@ -204,7 +204,7 @@ public class LuaC extends Lua implements LuaCompiler {
lexstate.open_func(funcstate); lexstate.open_func(funcstate);
/* main func. is always vararg */ /* main func. is always vararg */
funcstate.f.is_vararg = LuaC.VARARG_ISVARARG; funcstate.f.is_vararg = LuaC.VARARG_ISVARARG;
funcstate.f.source = (LuaString) LuaValue.valueOf("@"+name); funcstate.f.source = (LuaString) LuaValue.valueOf(name);
lexstate.next(); /* read first token */ lexstate.next(); /* read first token */
lexstate.chunk(); lexstate.chunk();
lexstate.check(LexState.TK_EOS); lexstate.check(LexState.TK_EOS);

View File

@@ -204,7 +204,7 @@ public class PackageLib extends OneArgFunction {
if ( e < 0 ) if ( e < 0 )
e = fname.m_length; e = fname.m_length;
LuaString key = fname.substring(b, e); LuaString key = fname.substring(b, e);
LuaValue val = table.get(key); LuaValue val = table.rawget(key);
if ( val.isnil() ) { /* no such field? */ if ( val.isnil() ) { /* no such field? */
LuaTable field = new LuaTable(); /* new table for field */ LuaTable field = new LuaTable(); /* new table for field */
table.set(key, field); table.set(key, field);

View File

@@ -22,6 +22,8 @@
package org.luaj.vm2.vm1; package org.luaj.vm2.vm1;
import java.io.ByteArrayOutputStream; import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException; import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;
import java.io.PrintStream; import java.io.PrintStream;
@@ -55,9 +57,10 @@ public class Luajvm1CompatibilityTest extends TestCase {
private static InputStream open(String file) { private static InputStream open(String file) {
try { try {
String path = jarpath+file; File f = new File(file);
URL url = new URL(path); return f.exists()?
return url.openStream(); new FileInputStream(f):
new URL(jarpath+file).openStream();
} catch ( Exception e ) { } catch ( Exception e ) {
return null; return null;
} }
@@ -99,7 +102,7 @@ public class Luajvm1CompatibilityTest extends TestCase {
if ( is == null ) if ( is == null )
return LuaValue.valueOf("not found: "+file); return LuaValue.valueOf("not found: "+file);
try { try {
return org.luaj.vm2.LoadState.load(is, name, env); return org.luaj.vm2.LoadState.load(is, file, env);
} catch (IOException e) { } catch (IOException e) {
return LuaValue.valueOf(e.toString()); return LuaValue.valueOf(e.toString());
} finally { } finally {