diff options
| author | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2005-07-06 15:07:30 -0300 |
|---|---|---|
| committer | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2005-07-06 15:07:30 -0300 |
| commit | b3f7a43019f08ec47b90236f1da97d23d0d8e5bf (patch) | |
| tree | e75687c631ab1b77b864d0a6099b93a4228f4c52 | |
| parent | 7f97ec286e5ab29db06ed43aab01cc5cb673bb64 (diff) | |
| download | lua-b3f7a43019f08ec47b90236f1da97d23d0d8e5bf.tar.gz lua-b3f7a43019f08ec47b90236f1da97d23d0d8e5bf.tar.bz2 lua-b3f7a43019f08ec47b90236f1da97d23d0d8e5bf.zip | |
lua_setfenv/lua_getfenv should also manipulate threads
| -rw-r--r-- | lapi.c | 8 |
1 files changed, 7 insertions, 1 deletions
| @@ -1,5 +1,5 @@ | |||
| 1 | /* | 1 | /* |
| 2 | ** $Id: lapi.c,v 2.43 2005/05/31 14:34:02 roberto Exp roberto $ | 2 | ** $Id: lapi.c,v 2.44 2005/07/05 14:30:31 roberto Exp roberto $ |
| 3 | ** Lua API | 3 | ** Lua API |
| 4 | ** See Copyright Notice in lua.h | 4 | ** See Copyright Notice in lua.h |
| 5 | */ | 5 | */ |
| @@ -618,6 +618,9 @@ LUA_API void lua_getfenv (lua_State *L, int idx) { | |||
| 618 | case LUA_TUSERDATA: | 618 | case LUA_TUSERDATA: |
| 619 | sethvalue(L, L->top, uvalue(o)->env); | 619 | sethvalue(L, L->top, uvalue(o)->env); |
| 620 | break; | 620 | break; |
| 621 | case LUA_TTHREAD: | ||
| 622 | setobj2s(L, L->top, gt(thvalue(o))); | ||
| 623 | break; | ||
| 621 | default: | 624 | default: |
| 622 | setnilvalue(L->top); | 625 | setnilvalue(L->top); |
| 623 | break; | 626 | break; |
| @@ -736,6 +739,9 @@ LUA_API int lua_setfenv (lua_State *L, int idx) { | |||
| 736 | case LUA_TUSERDATA: | 739 | case LUA_TUSERDATA: |
| 737 | uvalue(o)->env = hvalue(L->top - 1); | 740 | uvalue(o)->env = hvalue(L->top - 1); |
| 738 | break; | 741 | break; |
| 742 | case LUA_TTHREAD: | ||
| 743 | sethvalue(L, gt(thvalue(o)), hvalue(L->top - 1)); | ||
| 744 | break; | ||
| 739 | default: | 745 | default: |
| 740 | res = 0; | 746 | res = 0; |
| 741 | break; | 747 | break; |
