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 | } | ||
