From aa4cd37adfdeb84b8137d3fccdb28a49a3b6d9e5 Mon Sep 17 00:00:00 2001 From: Roberto Ierusalimschy Date: Thu, 17 Nov 1994 19:11:37 -0200 Subject: [PATCH] small bug corrected --- lua.stx | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/lua.stx b/lua.stx index a2e75b34..fc57aed5 100644 --- 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 #include @@ -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;