Mercurial Hosting > luan
diff src/luan/modules/Io.luan @ 1520:d9a5405a3102
try statement
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Sun, 21 Jun 2020 18:14:13 -0600 |
parents | b765f146f4dc |
children | 81288d8b20a2 |
line wrap: on
line diff
--- a/src/luan/modules/Io.luan Fri Jun 19 20:10:47 2020 -0600 +++ b/src/luan/modules/Io.luan Sun Jun 21 18:14:13 2020 -0600 @@ -23,7 +23,6 @@ local error = Luan.error local to_string = Luan.to_string or error() local type = Luan.type or error() -local try = Luan.try or error() local ipairs = Luan.ipairs or error() local pairs = Luan.pairs or error() local values = Luan.values or error() @@ -63,15 +62,12 @@ function Io.output_to(out,fn) local old_out = Io.stdout - return try { - function() - Io.stdout = out - return fn() - end - finally = function() - Io.stdout = old_out - end - } + try + Io.stdout = out + return fn() + finally + Io.stdout = old_out + end end local uri = Io.uri -- make local @@ -94,26 +90,20 @@ end local env = {} for line in console do - try { - function() - local fn - try { - function() - fn = load("return "..line,"stdin",env) - end - catch = function(e) - fn = load(line,"stdin",env) - end - } - local rtn = pack( fn() ) - if rtn.n > 0 then - Io.print( unpack(rtn) ) - end + try + local fn + try + fn = load("return "..line,"stdin",env) + catch e + fn = load(line,"stdin",env) end - catch = function(e) - Io.print(e) + local rtn = pack( fn() ) + if rtn.n > 0 then + Io.print( unpack(rtn) ) end - } + catch e + Io.print(e) + end end end