lua

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

commit aa4cd37adfdeb84b8137d3fccdb28a49a3b6d9e5
parent a84aa11f71be730d554aa208d2b40ad28f2c9e05
Author: Roberto Ierusalimschy <roberto@inf.puc-rio.br>
Date:   Thu, 17 Nov 1994 19:11:18 -0200

small bug corrected

Diffstat:
Mlua.stx | 14+++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/lua.stx b/lua.stx @@ -1,6 +1,6 @@ %{ -char *rcs_luastx = "$Id: lua.stx,v 3.7 1994/11/17 18:59:06 roberto Exp roberto $"; +char *rcs_luastx = "$Id: lua.stx,v 3.8 1994/11/17 19:09:46 roberto Exp roberto $"; #include <stdio.h> #include <stdlib.h> @@ -237,9 +237,6 @@ function : FUNCTION NAME Word func = luaI_findsymbol($2); s_tag(func) = LUA_T_FUNCTION; s_bvalue(func) = $4; -#if LISTING - PrintCode(funcCode,funcCode+pc); -#endif } ; @@ -251,9 +248,6 @@ method : FUNCTION NAME ':' NAME } body { -#if LISTING - PrintCode(funcCode,funcCode+pc); -#endif /* assign function to table field */ pc=maincode; basepc=*initcode; maxcurr=maxmain; nlocalvar=0; @@ -273,6 +267,9 @@ body : '(' parlist ')' block END $$ = newvector(pc, Byte); memcpy($$, basepc, pc*sizeof(Byte)); funcCode = basepc; maxcode=maxcurr; +#if LISTING + PrintCode(funcCode,funcCode+pc); +#endif } ; @@ -692,7 +689,10 @@ static void codeIf (Long thenAdd, Long elseAdd) { Long elseinit = elseAdd+sizeof(Word)+1; if (pc == elseinit) /* no else */ + { pc -= sizeof(Word)+1; + elseinit = pc; + } else { basepc[elseAdd] = JMP;