From 42bf7f476834dab755171dec502ee208310fbca3 Mon Sep 17 00:00:00 2001
From: "p.kosyh"
Date: Fri, 23 Oct 2009 10:46:48 +0000
Subject: [PATCH] pn functions
---
stead/stead.lua | 27 ++++++++++++++++++++++++++-
1 file changed, 26 insertions(+), 1 deletion(-)
diff --git a/stead/stead.lua b/stead/stead.lua
index 4b874b5..a3653a7 100644
--- a/stead/stead.lua
+++ b/stead/stead.lua
@@ -6,6 +6,26 @@ stead = {
io = io,
}
+function pstart()
+ stead.txt = nil
+end
+
+function pend()
+ return stead.txt;
+end
+
+function p(...)
+ local i
+ for i = 1, stead.table.maxn(arg) do
+ stead.txt = par('',stead.txt, arg[i]);
+ end
+ stead.txt = cat(stead.txt, ' ');
+end
+
+function pn(...)
+ p(unpack(arg));
+ stead.txt = par('',stead.txt,'^');
+end
-- merge strings with "space" as separator
function par(space,...)
@@ -533,7 +553,12 @@ function call(v, n, ...)
return v[n];
end
if type(v[n]) == 'function' then
- return v[n](v, unpack(arg));
+ pstart()
+ local a,b = v[n](v, unpack(arg));
+ if a == nil and b == nil then
+ return pend();
+ end
+ return a,b
end
error ("Method not string nor function:"..tostring(n));
end