lua

A copy of the Lua development repository
Log | Files | Refs | README

commit 058279d5487bd4216e4b57af3e2d014f66c5043f
parent 69ba1ac44188c8c067a300c3a47c94318ea99973
Author: Roberto Ierusalimschy <roberto@inf.puc-rio.br>
Date:   Fri, 14 May 2010 12:03:19 -0300

comments

Diffstat:
Mlparser.c | 12++++++------
1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/lparser.c b/lparser.c @@ -1,5 +1,5 @@ /* -** $Id: lparser.c,v 2.83 2010/04/17 12:46:32 roberto Exp roberto $ +** $Id: lparser.c,v 2.84 2010/05/13 12:03:26 roberto Exp roberto $ ** Lua Parser ** See Copyright Notice in lua.h */ @@ -1316,7 +1316,6 @@ static void retstat (LexState *ls) { FuncState *fs = ls->fs; expdesc e; int first, nret; /* registers with returned values */ - luaX_next(ls); /* skip RETURN */ if (block_follow(ls->t.token) || ls->t.token == ';') first = nret = 0; /* return no values */ else { @@ -1372,8 +1371,8 @@ static int statement (LexState *ls) { repeatstat(ls, line); return 0; } - case TK_FUNCTION: { - funcstat(ls, line); /* stat -> funcstat */ + case TK_FUNCTION: { /* stat -> funcstat */ + funcstat(ls, line); return 0; } case TK_LOCAL: { /* stat -> localstat */ @@ -1385,6 +1384,7 @@ static int statement (LexState *ls) { return 0; } case TK_RETURN: { /* stat -> retstat */ + luaX_next(ls); /* skip RETURN */ retstat(ls); return 1; /* must be last statement */ } @@ -1393,9 +1393,9 @@ static int statement (LexState *ls) { breakstat(ls); return 1; /* must be last statement */ } - default: { + default: { /* stat -> func | assignment */ exprstat(ls); - return 0; /* to avoid warnings */ + return 0; } } }