aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoberto Ierusalimschy <roberto@inf.puc-rio.br>2002-04-22 11:38:52 -0300
committerRoberto Ierusalimschy <roberto@inf.puc-rio.br>2002-04-22 11:38:52 -0300
commit30ad4c75db38639f52fb1c8be1c5a3f5b58e776f (patch)
tree94b35d249746cda360974d9f2be66ceb5a16525f
parent3ee1efa7b2dd4a3d47d0baeeb3896275f4b630d0 (diff)
downloadlua-30ad4c75db38639f52fb1c8be1c5a3f5b58e776f.tar.gz
lua-30ad4c75db38639f52fb1c8be1c5a3f5b58e776f.tar.bz2
lua-30ad4c75db38639f52fb1c8be1c5a3f5b58e776f.zip
bug: 'local a,b; a,b = 1,f()' did not close f()
-rw-r--r--lparser.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/lparser.c b/lparser.c
index dfc11899..688e39cd 100644
--- a/lparser.c
+++ b/lparser.c
@@ -1,5 +1,5 @@
1/* 1/*
2** $Id: lparser.c,v 1.175 2002/04/09 19:47:44 roberto Exp roberto $ 2** $Id: lparser.c,v 1.176 2002/04/10 19:14:45 roberto Exp roberto $
3** Lua Parser 3** Lua Parser
4** See Copyright Notice in lua.h 4** See Copyright Notice in lua.h
5*/ 5*/
@@ -938,6 +938,7 @@ static void assignment (LexState *ls, struct LHS_assign *lh, int nvars) {
938 ls->fs->freereg -= nexps - nvars; /* remove extra values */ 938 ls->fs->freereg -= nexps - nvars; /* remove extra values */
939 } 939 }
940 else { 940 else {
941 luaK_setcallreturns(ls->fs, &e, 1); /* close last expression */
941 luaK_storevar(ls->fs, &lh->v, &e); 942 luaK_storevar(ls->fs, &lh->v, &e);
942 return; /* avoid default */ 943 return; /* avoid default */
943 } 944 }