diff options
Diffstat (limited to 'src/lib_base.c')
-rw-r--r-- | src/lib_base.c | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/src/lib_base.c b/src/lib_base.c index 824fc0e7..d5f5b0a6 100644 --- a/src/lib_base.c +++ b/src/lib_base.c | |||
@@ -278,16 +278,12 @@ LJLIB_ASM(next) | |||
278 | return FFH_UNREACHABLE; | 278 | return FFH_UNREACHABLE; |
279 | } | 279 | } |
280 | 280 | ||
281 | #if defined(LUAJIT_ENABLE_LUA52COMPAT) || LJ_HASFFI | 281 | #if LJ_52 || LJ_HASFFI |
282 | static int ffh_pairs(lua_State *L, MMS mm) | 282 | static int ffh_pairs(lua_State *L, MMS mm) |
283 | { | 283 | { |
284 | TValue *o = lj_lib_checkany(L, 1); | 284 | TValue *o = lj_lib_checkany(L, 1); |
285 | cTValue *mo = lj_meta_lookup(L, o, mm); | 285 | cTValue *mo = lj_meta_lookup(L, o, mm); |
286 | if ( | 286 | if ((LJ_52 || tviscdata(o)) && !tvisnil(mo)) { |
287 | #if !defined(LUAJIT_ENABLE_LUA52COMPAT) | ||
288 | tviscdata(o) && | ||
289 | #endif | ||
290 | !tvisnil(mo)) { | ||
291 | L->top = o+1; /* Only keep one argument. */ | 287 | L->top = o+1; /* Only keep one argument. */ |
292 | copyTV(L, L->base-1, mo); /* Replace callable. */ | 288 | copyTV(L, L->base-1, mo); /* Replace callable. */ |
293 | return FFH_TAILCALL; | 289 | return FFH_TAILCALL; |
@@ -542,7 +538,7 @@ LJLIB_CF(coroutine_status) | |||
542 | 538 | ||
543 | LJLIB_CF(coroutine_running) | 539 | LJLIB_CF(coroutine_running) |
544 | { | 540 | { |
545 | #ifdef LUAJIT_ENABLE_LUA52COMPAT | 541 | #if LJ_52 |
546 | int ismain = lua_pushthread(L); | 542 | int ismain = lua_pushthread(L); |
547 | setboolV(L->top++, ismain); | 543 | setboolV(L->top++, ismain); |
548 | return 2; | 544 | return 2; |