Mercurial Hosting > luan
comparison core/src/luan/modules/PackageLuan.java @ 296:7ea6dfdf81ba
add env param to load_file()
git-svn-id: https://luan-java.googlecode.com/svn/trunk@297 21e917c8-12df-6dd8-5cb6-c86387c605b9
author | fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9> |
---|---|
date | Mon, 15 Dec 2014 08:03:32 +0000 |
parents | 4a0a84c38617 |
children | 899253043270 |
comparison
equal
deleted
inserted
replaced
295:1f4cc8505308 | 296:7ea6dfdf81ba |
---|---|
81 } | 81 } |
82 } | 82 } |
83 return mod; | 83 return mod; |
84 } | 84 } |
85 | 85 |
86 static LuanFunction loader(LuanState luan,String name,boolean loading) throws LuanException { | 86 static LuanFunction loader(LuanState luan,String name,boolean loading,LuanTable env) throws LuanException { |
87 LuanTable t = IoLuan.Uri(luan,name,loading); | 87 LuanTable t = IoLuan.Uri(luan,name,loading); |
88 if( t == null ) | 88 if( t == null ) |
89 return null; | 89 return null; |
90 LuanFunction loader = (LuanFunction)t.get("loader"); | 90 LuanFunction loader = (LuanFunction)t.get("loader"); |
91 if( loader == null ) | 91 if( loader == null ) |
92 return null; | 92 return null; |
93 return (LuanFunction)Luan.first(luan.call(loader,new Object[]{name})); | 93 return (LuanFunction)Luan.first(luan.call(loader,new Object[]{name,env})); |
94 } | 94 } |
95 | 95 |
96 public static Object[] search(LuanState luan,String modName) throws LuanException { | 96 public static Object[] search(LuanState luan,String modName) throws LuanException { |
97 LuanFunction fn = loader(luan,modName,true); | 97 LuanFunction fn = loader(luan,modName,true,null); |
98 return fn==null ? null : new Object[]{fn,modName}; | 98 return fn==null ? null : new Object[]{fn,modName}; |
99 } | 99 } |
100 | 100 |
101 | 101 |
102 static LuanFunction load_lib(LuanState luan,String path) | 102 static LuanFunction load_lib(LuanState luan,String path) |