diff options
author | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2011-10-21 17:34:23 -0200 |
---|---|---|
committer | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2011-10-21 17:34:23 -0200 |
commit | 1dd8af67b6b1f1c970967b96b2f1b2edabe551c4 (patch) | |
tree | 467ab503733dd5d10bb2996f8cb470ec4b61300b | |
parent | 1350a2bcb59ffad48183241fa8f3f1cf31360f35 (diff) | |
download | lua-1dd8af67b6b1f1c970967b96b2f1b2edabe551c4.tar.gz lua-1dd8af67b6b1f1c970967b96b2f1b2edabe551c4.tar.bz2 lua-1dd8af67b6b1f1c970967b96b2f1b2edabe551c4.zip |
BUG: parser may collect a prototype while building it.
-rw-r--r-- | bugs | 25 |
1 files changed, 23 insertions, 2 deletions
@@ -1880,8 +1880,8 @@ patch = [[ | |||
1880 | +++ lundump.c 2008/04/04 19:51:41 2.7.1.4 | 1880 | +++ lundump.c 2008/04/04 19:51:41 2.7.1.4 |
1881 | @@ -1,5 +1,5 @@ | 1881 | @@ -1,5 +1,5 @@ |
1882 | /* | 1882 | /* |
1883 | -** $Id: bugs,v 1.109 2011/01/31 14:52:32 roberto Exp roberto $ | 1883 | -** $Id: bugs,v 1.110 2011/08/17 20:38:51 roberto Exp roberto $ |
1884 | +** $Id: bugs,v 1.109 2011/01/31 14:52:32 roberto Exp roberto $ | 1884 | +** $Id: bugs,v 1.110 2011/08/17 20:38:51 roberto Exp roberto $ |
1885 | ** load precompiled Lua chunks | 1885 | ** load precompiled Lua chunks |
1886 | ** See Copyright Notice in lua.h | 1886 | ** See Copyright Notice in lua.h |
1887 | */ | 1887 | */ |
@@ -2386,3 +2386,24 @@ patch = [[ | |||
2386 | ]] | 2386 | ]] |
2387 | } | 2387 | } |
2388 | 2388 | ||
2389 | Bug{ | ||
2390 | what = [[parser may collect a prototype while building it]], | ||
2391 | report = [[Ingo van Lil, 2011/10/13]], | ||
2392 | since = [[5.1.4 (caused by patch 5.1.4-6)]], | ||
2393 | example = nil, | ||
2394 | patch = [[ | ||
2395 | --- lparser.c 2007/12/28 15:32:23 2.42.1.3 | ||
2396 | +++ lparser.c 2011/10/17 13:10:43 | ||
2397 | @@ -374,9 +374,9 @@ | ||
2398 | lua_assert(luaG_checkcode(f)); | ||
2399 | lua_assert(fs->bl == NULL); | ||
2400 | ls->fs = fs->prev; | ||
2401 | - L->top -= 2; /* remove table and prototype from the stack */ | ||
2402 | /* last token read was anchored in defunct function; must reanchor it */ | ||
2403 | if (fs) anchor_token(ls); | ||
2404 | + L->top -= 2; /* remove table and prototype from the stack */ | ||
2405 | } | ||
2406 | |||
2407 | |||
2408 | ]] | ||
2409 | } | ||