comparison core/src/luan/modules/PackageLuan.java @ 462:2e79b47d02a2

remove all command line options; add add_extension boolean arg to scheme fns;
author Franklin Schmidt <fschmidt@gmail.com>
date Wed, 06 May 2015 16:54:20 -0600
parents 5b36f663a1b8
children 92c3d22745b8
comparison
equal deleted inserted replaced
461:e12841f7edef 462:2e79b47d02a2
44 Object mod = loaded.rawGet(modName); 44 Object mod = loaded.rawGet(modName);
45 if( mod == null ) { 45 if( mod == null ) {
46 if( modName.startsWith("java:") ) { 46 if( modName.startsWith("java:") ) {
47 mod = JavaLuan.load(luan,modName.substring(5)); 47 mod = JavaLuan.load(luan,modName.substring(5));
48 } else { 48 } else {
49 String src = read(luan,modName+".luan"); 49 String src = read(luan,modName,true);
50 if( src == null ) 50 if( src == null )
51 return null; 51 return null;
52 LuanTable env = new LuanTable(); 52 LuanTable env = new LuanTable();
53 LuanFunction loader = BasicLuan.load(luan,src,modName,env,false); 53 LuanFunction loader = BasicLuan.load(luan,src,modName,env,false);
54 Object result = Luan.first( 54 Object result = Luan.first(
59 loaded.rawPut(modName,mod); 59 loaded.rawPut(modName,mod);
60 } 60 }
61 return mod; 61 return mod;
62 } 62 }
63 63
64 static String read(LuanState luan,String uri) throws LuanException { 64 static String read(LuanState luan,String uri,Boolean addExtension) throws LuanException {
65 LuanTable t = IoLuan.uri(luan,uri); 65 LuanTable t = IoLuan.uri(luan,uri,addExtension);
66 if( t == null ) 66 if( t == null )
67 return null; 67 return null;
68 LuanFunction existsFn = (LuanFunction)t.get(luan,"exists"); 68 LuanFunction existsFn = (LuanFunction)t.get(luan,"exists");
69 boolean exists = (Boolean)Luan.first(luan.call(existsFn)); 69 boolean exists = (Boolean)Luan.first(luan.call(existsFn));
70 if( !exists ) 70 if( !exists )