--- lposix.c.old 2007-07-16 21:51:40.000000000 +0800 +++ lposix.c 2007-07-16 21:54:01.000000000 +0800 @@ -64,8 +64,7 @@ } else { - int j=luaL_findstring(luaL_checkstring(L, i), S); - if (j==-1) luaL_argerror(L, i, "unknown selector"); + int j=luaL_checkoption(L, i, NULL, S); return F(L, j, data); } }