|
|
@ -1880,8 +1880,8 @@ patch = [[ |
|
|
|
+++ lundump.c 2008/04/04 19:51:41 2.7.1.4 |
|
|
|
@@ -1,5 +1,5 @@ |
|
|
|
/* |
|
|
|
-** $Id: bugs,v 1.108 2010/05/14 15:34:57 roberto Exp roberto $ |
|
|
|
+** $Id: bugs,v 1.108 2010/05/14 15:34:57 roberto Exp roberto $ |
|
|
|
-** $Id: bugs,v 1.109 2011/01/31 14:52:32 roberto Exp roberto $ |
|
|
|
+** $Id: bugs,v 1.109 2011/01/31 14:52:32 roberto Exp roberto $ |
|
|
|
** load precompiled Lua chunks |
|
|
|
** See Copyright Notice in lua.h |
|
|
|
*/ |
|
|
@ -2359,3 +2359,30 @@ patch = [[ |
|
|
|
break; |
|
|
|
]] |
|
|
|
} |
|
|
|
|
|
|
|
Bug{ |
|
|
|
what = [[__newindex metamethod may not work if metatable is its own |
|
|
|
metatable]], |
|
|
|
report = [[Cuero Bugot, 2011/08/09]], |
|
|
|
since = [[5.1]], |
|
|
|
example = [[ |
|
|
|
meta={} |
|
|
|
setmetatable(meta, meta) |
|
|
|
meta.__newindex = function(t, key, value) print("set") end |
|
|
|
o = setmetatable({}, meta) |
|
|
|
o.x = 10 -- should print 'set' |
|
|
|
]], |
|
|
|
patch = [[ |
|
|
|
--- lvm.c 2009/07/01 21:10:33 2.63.1.4 |
|
|
|
+++ lvm.c 2011/08/17 20:36:28 |
|
|
|
@@ -142,6 +142,7 @@ |
|
|
|
if (!ttisnil(oldval) || /* result is no nil? */ |
|
|
|
(tm = fasttm(L, h->metatable, TM_NEWINDEX)) == NULL) { /* or no TM? */ |
|
|
|
setobj2t(L, oldval, val); |
|
|
|
+ h->flags = 0; |
|
|
|
luaC_barriert(L, h, val); |
|
|
|
return; |
|
|
|
} |
|
|
|
]] |
|
|
|
} |
|
|
|
|
|
|
|