Mercurial Hosting > luan
diff core/src/luan/modules/BasicLuan.java @ 260:f1f7d8c7e94e
add Io.protocols
git-svn-id: https://luan-java.googlecode.com/svn/trunk@261 21e917c8-12df-6dd8-5cb6-c86387c605b9
author | fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9> |
---|---|
date | Tue, 28 Oct 2014 23:25:13 +0000 |
parents | 705d14f4d8ee |
children | 9e0d4452e649 |
line wrap: on
line diff
--- a/core/src/luan/modules/BasicLuan.java Tue Oct 28 21:20:48 2014 +0000 +++ b/core/src/luan/modules/BasicLuan.java Tue Oct 28 23:25:13 2014 +0000 @@ -75,7 +75,16 @@ public static LuanFunction load_file(LuanState luan,String fileName) throws LuanException { try { - String src = fileName==null ? Utils.readAll(new InputStreamReader(System.in)) : IoLuan.luanIo(luan,fileName).read_text(); + String src; + if( fileName==null ) { + src = Utils.readAll(new InputStreamReader(System.in)); + } else { + LuanTable t = IoLuan.get(luan,fileName); + if( t == null ) + throw luan.exception( "file '"+fileName+"' not found" ); + LuanFunction fn = (LuanFunction)t.get("read_text"); + src = (String)Luan.first(luan.call(fn)); + } return load(luan,src,fileName,null,false); } catch(IOException e) { throw luan.exception(e);