diff src/luan/modules/Io.luan @ 1277:5ba660381bd5

fix Io.print()
author Franklin Schmidt <fschmidt@gmail.com>
date Tue, 11 Dec 2018 03:38:43 -0700
parents 623dfe0e2e73
children 781ec0a92bb5
line wrap: on
line diff
--- a/src/luan/modules/Io.luan	Mon Dec 10 15:04:09 2018 -0700
+++ b/src/luan/modules/Io.luan	Tue Dec 11 03:38:43 2018 -0700
@@ -28,6 +28,7 @@
 local values = Luan.values or error()
 local load = Luan.load or error()
 local Table = require "luan:Table.luan"
+local pack = Table.pack or error()
 local unpack = Table.unpack or error()
 local String = require "luan:String.luan"
 local encode = String.encode or error()
@@ -49,6 +50,8 @@
 	if #list > 0 then
 		list[#list] = '\n'
 		out.write( unpack(list) )
+	else
+		out.write('\n')
 	end
 end
 
@@ -101,7 +104,10 @@
 						fn = load(line,"stdin",env)
 					end
 				}
-				Io.print( fn() )
+				local rtn = pack( fn() )
+				if rtn.n > 0 then
+					Io.print( unpack(rtn) )
+				end
 			end
 			catch = function(e)
 				Io.print(e)