From b4be5075784bcc8fed974bda4005425a9ccec1ba Mon Sep 17 00:00:00 2001 From: Roberto Ierusalimschy Date: Mon, 29 Apr 2013 13:56:50 -0300 Subject: new function 'luaT_trybinTM' --- ltm.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'ltm.c') diff --git a/ltm.c b/ltm.c index a016cc42..43bcfb57 100644 --- a/ltm.c +++ b/ltm.c @@ -1,5 +1,5 @@ /* -** $Id: ltm.c,v 2.17 2013/04/25 16:07:52 roberto Exp roberto $ +** $Id: ltm.c,v 2.18 2013/04/26 13:07:53 roberto Exp roberto $ ** Tag methods ** See Copyright Notice in lua.h */ @@ -12,6 +12,7 @@ #include "lua.h" +#include "ldebug.h" #include "ldo.h" #include "lobject.h" #include "lstate.h" @@ -106,6 +107,17 @@ int luaT_callbinTM (lua_State *L, const TValue *p1, const TValue *p2, } +void luaT_trybinTM (lua_State *L, const TValue *p1, const TValue *p2, + StkId res, TMS event) { + if (!luaT_callbinTM(L, p1, p2, res, event)) { + if (event == TM_CONCAT) + luaG_concaterror(L, p1, p2); + else + luaG_aritherror(L, p1, p2); + } +} + + const TValue *luaT_getequalTM (lua_State *L, Table *mt1, Table *mt2) { const TValue *tm1 = fasttm(L, mt1, TM_EQ); const TValue *tm2; -- cgit v1.2.3-55-g6feb