From 46a1b268eb0534182eda0447303c344a071632fe Mon Sep 17 00:00:00 2001 From: Mike Pall Date: Sun, 8 Dec 2019 19:40:24 +0100 Subject: [PATCH] Add stricter check for print() vs. tostring() shortcut. --- src/lib_base.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/lib_base.c b/src/lib_base.c index 162bbbb2..98ed3d60 100644 --- a/src/lib_base.c +++ b/src/lib_base.c @@ -504,7 +504,8 @@ LJLIB_CF(print) lua_gettable(L, LUA_GLOBALSINDEX); tv = L->top-1; } - shortcut = (tvisfunc(tv) && funcV(tv)->c.ffid == FF_tostring); + shortcut = (tvisfunc(tv) && funcV(tv)->c.ffid == FF_tostring) + && !gcrefu(basemt_it(G(L), LJ_TNUMX)); for (i = 0; i < nargs; i++) { const char *str; size_t size;