@@ -792,6 +792,19 @@ namespace luadebug::visitor {
792792 return 2 ;
793793 }
794794
795+ static int visitor_getfenv (luadbg_State* L, lua_State* hL, protected_area& area) {
796+ #if LUA_VERSION_NUM == 501
797+ if (!copy_from_dbg (L, hL, area, 1 , LUADBG_TFUNCTION)) {
798+ return 0 ;
799+ }
800+ lua_pop (hL, 1 );
801+ refvalue::create (L, 1 , refvalue::FENV {});
802+ return 1 ;
803+ #else
804+ return 0 ;
805+ #endif
806+ }
807+
795808 template <bool getref = true >
796809 static int visitor_getmetatable (luadbg_State* L, lua_State* hL, protected_area& area) {
797810 area.check_client_stack (2 );
@@ -1120,6 +1133,7 @@ namespace luadebug::visitor {
11201133 { " getlocalv" , protected_call<visitor_getlocal<false >> },
11211134 { " getupvalue" , protected_call<visitor_getupvalue> },
11221135 { " getupvaluev" , protected_call<visitor_getupvalue<false >> },
1136+ { " getfenv" , protected_call<visitor_getfenv> },
11231137 { " getmetatable" , protected_call<visitor_getmetatable> },
11241138 { " getmetatablev" , protected_call<visitor_getmetatable<false >> },
11251139 { " getuservalue" , protected_call<visitor_getuservalue> },
0 commit comments