aboutsummaryrefslogtreecommitdiff
path: root/lvm.c
diff options
context:
space:
mode:
authorRoberto Ierusalimschy <roberto@inf.puc-rio.br>2000-02-11 14:52:54 -0200
committerRoberto Ierusalimschy <roberto@inf.puc-rio.br>2000-02-11 14:52:54 -0200
commit52aad0ab5937d4df6fe07aedbf9987f2f792698c (patch)
tree9598361f6d635751fe3eb93c66acd1520f2619af /lvm.c
parent74f1c3d025c6d8a714454470a953f383a1c6a641 (diff)
downloadlua-52aad0ab5937d4df6fe07aedbf9987f2f792698c.tar.gz
lua-52aad0ab5937d4df6fe07aedbf9987f2f792698c.tar.bz2
lua-52aad0ab5937d4df6fe07aedbf9987f2f792698c.zip
removing implementation for better error messages (must rethink it...)
Diffstat (limited to 'lvm.c')
-rw-r--r--lvm.c27
1 files changed, 9 insertions, 18 deletions
diff --git a/lvm.c b/lvm.c
index 1a94e3f4..f8c46ec0 100644
--- a/lvm.c
+++ b/lvm.c
@@ -1,5 +1,5 @@
1/* 1/*
2** $Id: lvm.c,v 1.84 2000/01/28 16:53:00 roberto Exp roberto $ 2** $Id: lvm.c,v 1.85 2000/02/08 16:39:42 roberto Exp roberto $
3** Lua virtual machine 3** Lua virtual machine
4** See Copyright Notice in lua.h 4** See Copyright Notice in lua.h
5*/ 5*/
@@ -642,27 +642,18 @@ StkId luaV_execute (lua_State *L, const Closure *cl, const TProtoFunc *tf,
642 642
643 case SETLINEW: aux += highbyte(L, *pc++); 643 case SETLINEW: aux += highbyte(L, *pc++);
644 case SETLINE: aux += *pc++; 644 case SETLINE: aux += *pc++;
645 if ((base-2)->ttype != LUA_T_LINE) { 645 if ((base-1)->ttype != LUA_T_LINE) {
646 /* open space for LINE and NAME values */ 646 /* open space for LINE value */
647 int i = top-base; 647 int i = top-base;
648 while (i--) base[i+2] = base[i]; 648 while (i--) base[i+1] = base[i];
649 base += 2; 649 base++;
650 top += 2; 650 top++;
651 (base-1)->ttype = LUA_T_NIL; /* initial value for NAME */ 651 (base-1)->ttype = LUA_T_LINE;
652 (base-2)->ttype = LUA_T_LINE;
653 } 652 }
654 (base-2)->value.i = aux; 653 (base-1)->value.i = aux;
655 if (L->linehook) { 654 if (L->linehook) {
656 L->top = top; 655 L->top = top;
657 luaD_lineHook(L, base-3, aux); 656 luaD_lineHook(L, base-2, aux);
658 }
659 break;
660
661 case SETNAMEW: aux += highbyte(L, *pc++);
662 case SETNAME: aux += *pc++;
663 if ((base-2)->ttype == LUA_T_LINE) { /* function has debug info? */
664 (base-1)->ttype = (lua_Type)(-(*pc++));
665 (base-1)->value.i = aux;
666 } 657 }
667 break; 658 break;
668 659