diff options
Diffstat (limited to 'ltm.c')
-rw-r--r-- | ltm.c | 14 |
1 files changed, 13 insertions, 1 deletions
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | ** $Id: ltm.c,v 2.17 2013/04/25 16:07:52 roberto Exp roberto $ | 2 | ** $Id: ltm.c,v 2.18 2013/04/26 13:07:53 roberto Exp roberto $ |
3 | ** Tag methods | 3 | ** Tag methods |
4 | ** See Copyright Notice in lua.h | 4 | ** See Copyright Notice in lua.h |
5 | */ | 5 | */ |
@@ -12,6 +12,7 @@ | |||
12 | 12 | ||
13 | #include "lua.h" | 13 | #include "lua.h" |
14 | 14 | ||
15 | #include "ldebug.h" | ||
15 | #include "ldo.h" | 16 | #include "ldo.h" |
16 | #include "lobject.h" | 17 | #include "lobject.h" |
17 | #include "lstate.h" | 18 | #include "lstate.h" |
@@ -106,6 +107,17 @@ int luaT_callbinTM (lua_State *L, const TValue *p1, const TValue *p2, | |||
106 | } | 107 | } |
107 | 108 | ||
108 | 109 | ||
110 | void luaT_trybinTM (lua_State *L, const TValue *p1, const TValue *p2, | ||
111 | StkId res, TMS event) { | ||
112 | if (!luaT_callbinTM(L, p1, p2, res, event)) { | ||
113 | if (event == TM_CONCAT) | ||
114 | luaG_concaterror(L, p1, p2); | ||
115 | else | ||
116 | luaG_aritherror(L, p1, p2); | ||
117 | } | ||
118 | } | ||
119 | |||
120 | |||
109 | const TValue *luaT_getequalTM (lua_State *L, Table *mt1, Table *mt2) { | 121 | const TValue *luaT_getequalTM (lua_State *L, Table *mt1, Table *mt2) { |
110 | const TValue *tm1 = fasttm(L, mt1, TM_EQ); | 122 | const TValue *tm1 = fasttm(L, mt1, TM_EQ); |
111 | const TValue *tm2; | 123 | const TValue *tm2; |