summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoberto Ierusalimschy <roberto@inf.puc-rio.br>2006-04-12 17:31:15 -0300
committerRoberto Ierusalimschy <roberto@inf.puc-rio.br>2006-04-12 17:31:15 -0300
commit18330b6091696f2900d89e8ddef6fb548a3ac84d (patch)
tree69c6b775e656bb6f46b9cda81b912decbb2e8c76
parent84879136970b76e5d1782f3b4664c7c8f9076821 (diff)
downloadlua-github-18330b6091696f2900d89e8ddef6fb548a3ac84d.tar.gz
lua_dostring/lua_dofile should return any values returned by the chunk
-rw-r--r--bugs23
-rw-r--r--lauxlib.h8
2 files changed, 28 insertions, 3 deletions
diff --git a/bugs b/bugs
index 5f8feb1b..a65f5474 100644
--- a/bugs
+++ b/bugs
@@ -923,3 +923,26 @@ patch = [[
]],
}
+
+
+@Bug{
+what = [[lua_dostring/lua_dofile should return any values returned
+by the chunk]],
+
+patch = [[
+* lauxlib.h:
+@@ -108,9 +108,11 @@
+
+ #define luaL_typename(L,i) lua_typename(L, lua_type(L,(i)))
+
+-#define luaL_dofile(L, fn) (luaL_loadfile(L, fn) || lua_pcall(L, 0, 0, 0))
++#define luaL_dofile(L, fn) \
++ (luaL_loadfile(L, fn) || lua_pcall(L, 0, LUA_MULTRET, 0))
+
+-#define luaL_dostring(L, s) (luaL_loadstring(L, s) || lua_pcall(L, 0, 0, 0))+#define luaL_dostring(L, s) \
++ (luaL_loadstring(L, s) || lua_pcall(L, 0, LUA_MULTRET, 0))
+
+ #define luaL_getmetatable(L,n) (lua_getfield(L, LUA_REGISTRYINDEX, (n)))
+]],
+
+}
diff --git a/lauxlib.h b/lauxlib.h
index 181e87ad..f7b02db5 100644
--- a/lauxlib.h
+++ b/lauxlib.h
@@ -1,5 +1,5 @@
/*
-** $Id: lauxlib.h,v 1.86 2005/10/21 13:47:42 roberto Exp roberto $
+** $Id: lauxlib.h,v 1.87 2005/12/29 15:32:11 roberto Exp roberto $
** Auxiliary functions for building Lua libraries
** See Copyright Notice in lua.h
*/
@@ -108,9 +108,11 @@ LUALIB_API const char *(luaL_findtable) (lua_State *L, int idx,
#define luaL_typename(L,i) lua_typename(L, lua_type(L,(i)))
-#define luaL_dofile(L, fn) (luaL_loadfile(L, fn) || lua_pcall(L, 0, 0, 0))
+#define luaL_dofile(L, fn) \
+ (luaL_loadfile(L, fn) || lua_pcall(L, 0, LUA_MULTRET, 0))
-#define luaL_dostring(L, s) (luaL_loadstring(L, s) || lua_pcall(L, 0, 0, 0))
+#define luaL_dostring(L, s) \
+ (luaL_loadstring(L, s) || lua_pcall(L, 0, LUA_MULTRET, 0))
#define luaL_getmetatable(L,n) (lua_getfield(L, LUA_REGISTRYINDEX, (n)))