aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoberto Ierusalimschy <roberto@inf.puc-rio.br>2003-10-09 14:56:23 -0300
committerRoberto Ierusalimschy <roberto@inf.puc-rio.br>2003-10-09 14:56:23 -0300
commita41d60e1d1f3a954648884d4ab7fb7e9ccdd52d6 (patch)
tree59949e0ae6d791776e9f68a4019313093671e46b
parentf04fe526cd9de3e5460b614b2ff06268ad51872d (diff)
downloadlua-a41d60e1d1f3a954648884d4ab7fb7e9ccdd52d6.tar.gz
lua-a41d60e1d1f3a954648884d4ab7fb7e9ccdd52d6.tar.bz2
lua-a41d60e1d1f3a954648884d4ab7fb7e9ccdd52d6.zip
debugger can only see `local function' after it has a meaningful value
-rw-r--r--bugs14
-rw-r--r--lparser.c4
2 files changed, 14 insertions, 4 deletions
diff --git a/bugs b/bugs
index 4c4bedb3..fcd27215 100644
--- a/bugs
+++ b/bugs
@@ -561,11 +561,19 @@ local function d () end
561 561
562patch = [[ 562patch = [[
563* lparser.c: 563* lparser.c:
5641145c1145,1146 5641143a1144
565> FuncState *fs = ls->fs;
5661145c1146,1147
565< init_exp(&v, VLOCAL, ls->fs->freereg++); 567< init_exp(&v, VLOCAL, ls->fs->freereg++);
566--- 568---
567> init_exp(&v, VLOCAL, ls->fs->freereg); 569> init_exp(&v, VLOCAL, fs->freereg);
568> luaK_reserveregs(ls->fs, 1); 570> luaK_reserveregs(fs, 1);
5711148c1150,1152
572< luaK_storevar(ls->fs, &v, &b);
573---
574> luaK_storevar(fs, &v, &b);
575> /* debug information will only see the variable after this point! */
576> getlocvar(fs, fs->nactvar - 1).startpc = fs->pc;
569]], 577]],
570 578
571} 579}
diff --git a/lparser.c b/lparser.c
index c565d140..cf0e18d1 100644
--- a/lparser.c
+++ b/lparser.c
@@ -1,5 +1,5 @@
1/* 1/*
2** $Id: lparser.c,v 1.219 2003/09/29 16:41:35 roberto Exp roberto $ 2** $Id: lparser.c,v 1.220 2003/10/03 16:04:24 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*/
@@ -1172,6 +1172,8 @@ static void localfunc (LexState *ls) {
1172 adjustlocalvars(ls, 1); 1172 adjustlocalvars(ls, 1);
1173 body(ls, &b, 0, ls->linenumber); 1173 body(ls, &b, 0, ls->linenumber);
1174 luaK_storevar(fs, &v, &b); 1174 luaK_storevar(fs, &v, &b);
1175 /* debug information will only see the variable after this point! */
1176 getlocvar(fs, fs->nactvar - 1).startpc = fs->pc;
1175} 1177}
1176 1178
1177 1179