diff core/src/luan/modules/PackageLuan.java @ 426:23a93c118042

fix LuanTable.get() to use metatables
author Franklin Schmidt <fschmidt@gmail.com>
date Fri, 01 May 2015 18:44:20 -0600
parents 23b99a5039b5
children dae264ad6a7b
line wrap: on
line diff
--- a/core/src/luan/modules/PackageLuan.java	Fri May 01 17:18:23 2015 -0600
+++ b/core/src/luan/modules/PackageLuan.java	Fri May 01 18:44:20 2015 -0600
@@ -24,7 +24,7 @@
 	}
 
 	public static LuanTable loaded(LuanState luan) {
-		LuanTable tbl = (LuanTable)luan.registry().get("Package.loaded");
+		LuanTable tbl = (LuanTable)luan.registry().rawGet("Package.loaded");
 		if( tbl == null ) {
 			tbl = new LuanTable();
 			luan.registry().put("Package.loaded",tbl);
@@ -41,7 +41,7 @@
 
 	public static Object load(LuanState luan,String modName) throws LuanException {
 		LuanTable loaded = loaded(luan);
-		Object mod = loaded.get(modName);
+		Object mod = loaded.rawGet(modName);
 		if( mod == null ) {
 			if( modName.startsWith("java:") ) {
 				mod = JavaLuan.load(luan,modName.substring(5));
@@ -65,11 +65,11 @@
 		LuanTable t = IoLuan.Uri(luan,uri);
 		if( t == null )
 			return null;
-		LuanFunction existsFn = (LuanFunction)t.get("exists");
+		LuanFunction existsFn = (LuanFunction)t.get(luan,"exists");
 		boolean exists = (Boolean)Luan.first(luan.call(existsFn));
 		if( !exists )
 			return null;
-		LuanFunction reader = (LuanFunction)t.get("read_text");
+		LuanFunction reader = (LuanFunction)t.get(luan,"read_text");
 		return (String)Luan.first(luan.call(reader));
 	}