Mercurial Hosting > luan
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 ) |