Mercurial Hosting > luan
diff src/luan/lib/init.luan @ 149:f99fd64291b3
change load() to take env instead of using global
git-svn-id: https://luan-java.googlecode.com/svn/trunk@150 21e917c8-12df-6dd8-5cb6-c86387c605b9
author | fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9> |
---|---|
date | Mon, 16 Jun 2014 05:47:54 +0000 |
parents | 90f38a5d0e0a |
children | f35c50027985 |
line wrap: on
line diff
--- a/src/luan/lib/init.luan Mon Jun 16 04:29:33 2014 +0000 +++ b/src/luan/lib/init.luan Mon Jun 16 05:47:54 2014 +0000 @@ -50,14 +50,23 @@ end end +function Table.clone(tbl) + local new = {} + for k,v in _G.pairs(tbl) do + new[k] = v + end + return new +end + function Debug.debug(prompt) prompt = prompt or "luan_debug> " local function console() return Io.read_console_line(prompt) end + local env = Table.clone(_G) for line in console do try - local fn = _G.load(line,"stdin",true,true) + local fn = _G.load(line,"stdin",env,true) Debug.print_if_something( fn() ) catch e do _G.print(e)