commit 30ad4c75db38639f52fb1c8be1c5a3f5b58e776f
parent 3ee1efa7b2dd4a3d47d0baeeb3896275f4b630d0
Author: Roberto Ierusalimschy <roberto@inf.puc-rio.br>
Date: Mon, 22 Apr 2002 11:38:30 -0300
bug: 'local a,b; a,b = 1,f()' did not close f()
Diffstat:
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/lparser.c b/lparser.c
@@ -1,5 +1,5 @@
/*
-** $Id: lparser.c,v 1.175 2002/04/09 19:47:44 roberto Exp roberto $
+** $Id: lparser.c,v 1.176 2002/04/10 19:14:45 roberto Exp roberto $
** Lua Parser
** See Copyright Notice in lua.h
*/
@@ -938,6 +938,7 @@ static void assignment (LexState *ls, struct LHS_assign *lh, int nvars) {
ls->fs->freereg -= nexps - nvars; /* remove extra values */
}
else {
+ luaK_setcallreturns(ls->fs, &e, 1); /* close last expression */
luaK_storevar(ls->fs, &lh->v, &e);
return; /* avoid default */
}