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-18330b6091696f2900d89e8ddef6fb548a3ac84d.tar.gz
lua-18330b6091696f2900d89e8ddef6fb548a3ac84d.tar.bz2
lua-18330b6091696f2900d89e8ddef6fb548a3ac84d.zip
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 = [[
923]], 923]],
924 924
925} 925}
926
927
928@Bug{
929what = [[lua_dostring/lua_dofile should return any values returned
930by the chunk]],
931
932patch = [[
933* lauxlib.h:
934@@ -108,9 +108,11 @@
935
936 #define luaL_typename(L,i) lua_typename(L, lua_type(L,(i)))
937
938-#define luaL_dofile(L, fn) (luaL_loadfile(L, fn) || lua_pcall(L, 0, 0, 0))
939+#define luaL_dofile(L, fn) \
940+ (luaL_loadfile(L, fn) || lua_pcall(L, 0, LUA_MULTRET, 0))
941
942-#define luaL_dostring(L, s) (luaL_loadstring(L, s) || lua_pcall(L, 0, 0, 0))+#define luaL_dostring(L, s) \
943+ (luaL_loadstring(L, s) || lua_pcall(L, 0, LUA_MULTRET, 0))
944
945 #define luaL_getmetatable(L,n) (lua_getfield(L, LUA_REGISTRYINDEX, (n)))
946]],
947
948}
diff --git a/lauxlib.h b/lauxlib.h
index 181e87ad..f7b02db5 100644
--- a/lauxlib.h
+++ b/lauxlib.h
@@ -1,5 +1,5 @@
1/* 1/*
2** $Id: lauxlib.h,v 1.86 2005/10/21 13:47:42 roberto Exp roberto $ 2** $Id: lauxlib.h,v 1.87 2005/12/29 15:32:11 roberto Exp roberto $
3** Auxiliary functions for building Lua libraries 3** Auxiliary functions for building Lua libraries
4** See Copyright Notice in lua.h 4** See Copyright Notice in lua.h
5*/ 5*/
@@ -108,9 +108,11 @@ LUALIB_API const char *(luaL_findtable) (lua_State *L, int idx,
108 108
109#define luaL_typename(L,i) lua_typename(L, lua_type(L,(i))) 109#define luaL_typename(L,i) lua_typename(L, lua_type(L,(i)))
110 110
111#define luaL_dofile(L, fn) (luaL_loadfile(L, fn) || lua_pcall(L, 0, 0, 0)) 111#define luaL_dofile(L, fn) \
112 (luaL_loadfile(L, fn) || lua_pcall(L, 0, LUA_MULTRET, 0))
112 113
113#define luaL_dostring(L, s) (luaL_loadstring(L, s) || lua_pcall(L, 0, 0, 0)) 114#define luaL_dostring(L, s) \
115 (luaL_loadstring(L, s) || lua_pcall(L, 0, LUA_MULTRET, 0))
114 116
115#define luaL_getmetatable(L,n) (lua_getfield(L, LUA_REGISTRYINDEX, (n))) 117#define luaL_getmetatable(L,n) (lua_getfield(L, LUA_REGISTRYINDEX, (n)))
116 118