diff options
Diffstat (limited to 'ldo.c')
| -rw-r--r-- | ldo.c | 9 |
1 files changed, 6 insertions, 3 deletions
| @@ -1,5 +1,5 @@ | |||
| 1 | /* | 1 | /* |
| 2 | ** $Id: ldo.c,v 2.41 2006/09/11 12:44:56 roberto Exp roberto $ | 2 | ** $Id: ldo.c,v 2.42 2006/09/11 14:07:24 roberto Exp roberto $ |
| 3 | ** Stack and Call structure of Lua | 3 | ** Stack and Call structure of Lua |
| 4 | ** See Copyright Notice in lua.h | 4 | ** See Copyright Notice in lua.h |
| 5 | */ | 5 | */ |
| @@ -346,8 +346,11 @@ int luaD_poscall (lua_State *L, StkId firstResult) { | |||
| 346 | StkId res; | 346 | StkId res; |
| 347 | int wanted, i; | 347 | int wanted, i; |
| 348 | CallInfo *ci; | 348 | CallInfo *ci; |
| 349 | if (L->hookmask & LUA_MASKRET) | 349 | if (L->hookmask & (LUA_MASKRET | LUA_MASKLINE)) { |
| 350 | firstResult = callrethooks(L, firstResult); | 350 | if (L->hookmask & LUA_MASKRET) |
| 351 | firstResult = callrethooks(L, firstResult); | ||
| 352 | L->oldpc = (L->ci - 1)->savedpc; /* set 'oldpc' for returning function */ | ||
| 353 | } | ||
| 351 | ci = L->ci--; | 354 | ci = L->ci--; |
| 352 | res = ci->func; /* res == final position of 1st result */ | 355 | res = ci->func; /* res == final position of 1st result */ |
| 353 | wanted = ci->nresults; | 356 | wanted = ci->nresults; |
