mirror of https://github.com/rusefi/lua.git
debugger can only see `local function' after it has a meaningful value
This commit is contained in:
parent
f04fe526cd
commit
a41d60e1d1
14
bugs
14
bugs
|
@ -561,11 +561,19 @@ local function d () end
|
||||||
|
|
||||||
patch = [[
|
patch = [[
|
||||||
* lparser.c:
|
* lparser.c:
|
||||||
1145c1145,1146
|
1143a1144
|
||||||
|
> FuncState *fs = ls->fs;
|
||||||
|
1145c1146,1147
|
||||||
< init_exp(&v, VLOCAL, ls->fs->freereg++);
|
< init_exp(&v, VLOCAL, ls->fs->freereg++);
|
||||||
---
|
---
|
||||||
> init_exp(&v, VLOCAL, ls->fs->freereg);
|
> init_exp(&v, VLOCAL, fs->freereg);
|
||||||
> luaK_reserveregs(ls->fs, 1);
|
> luaK_reserveregs(fs, 1);
|
||||||
|
1148c1150,1152
|
||||||
|
< luaK_storevar(ls->fs, &v, &b);
|
||||||
|
---
|
||||||
|
> luaK_storevar(fs, &v, &b);
|
||||||
|
> /* debug information will only see the variable after this point! */
|
||||||
|
> getlocvar(fs, fs->nactvar - 1).startpc = fs->pc;
|
||||||
]],
|
]],
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
** $Id: lparser.c,v 1.219 2003/09/29 16:41:35 roberto Exp roberto $
|
** $Id: lparser.c,v 1.220 2003/10/03 16:04:24 roberto Exp roberto $
|
||||||
** Lua Parser
|
** Lua Parser
|
||||||
** See Copyright Notice in lua.h
|
** See Copyright Notice in lua.h
|
||||||
*/
|
*/
|
||||||
|
@ -1172,6 +1172,8 @@ static void localfunc (LexState *ls) {
|
||||||
adjustlocalvars(ls, 1);
|
adjustlocalvars(ls, 1);
|
||||||
body(ls, &b, 0, ls->linenumber);
|
body(ls, &b, 0, ls->linenumber);
|
||||||
luaK_storevar(fs, &v, &b);
|
luaK_storevar(fs, &v, &b);
|
||||||
|
/* debug information will only see the variable after this point! */
|
||||||
|
getlocvar(fs, fs->nactvar - 1).startpc = fs->pc;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue