From 36ab1ee10c557efe625bfab76eeea9fc6e0b7ab9 Mon Sep 17 00:00:00 2001 From: Roberto Ierusalimschy Date: Fri, 15 Jan 2010 14:23:58 -0200 Subject: __unm metamethod gets nil as its 2nd parameter --- lvm.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lvm.c b/lvm.c index c1d12f89..7ee9388f 100644 --- a/lvm.c +++ b/lvm.c @@ -1,5 +1,5 @@ /* -** $Id: lvm.c,v 2.101 2009/11/25 15:27:51 roberto Exp roberto $ +** $Id: lvm.c,v 2.102 2009/12/17 16:20:01 roberto Exp roberto $ ** Lua virtual machine ** See Copyright Notice in lua.h */ @@ -157,6 +157,7 @@ static int call_binTM (lua_State *L, const TValue *p1, const TValue *p2, if (ttisnil(tm)) tm = luaT_gettmbyobj(L, p2, event); /* try second operand */ if (ttisnil(tm)) return 0; + if (event == TM_UNM) p2 = luaO_nilobject; callTM(L, tm, p1, p2, res, 1); return 1; } -- cgit v1.2.3-55-g6feb