mirror of
https://github.com/lua/lua
synced 2024-11-22 21:01:26 +03:00
"no value" added to array luaT_typenames + occurrences of "userdata"
in that array unified in a single address
This commit is contained in:
parent
0c7de97d47
commit
070d3743a7
4
lapi.c
4
lapi.c
@ -1,5 +1,5 @@
|
||||
/*
|
||||
** $Id: lapi.c,v 2.109 2010/01/08 15:16:56 roberto Exp roberto $
|
||||
** $Id: lapi.c,v 2.110 2010/01/11 17:38:30 roberto Exp roberto $
|
||||
** Lua API
|
||||
** See Copyright Notice in lua.h
|
||||
*/
|
||||
@ -255,7 +255,7 @@ LUA_API int lua_type (lua_State *L, int idx) {
|
||||
|
||||
LUA_API const char *lua_typename (lua_State *L, int t) {
|
||||
UNUSED(L);
|
||||
return (t == LUA_TNONE) ? "no value" : luaT_typenames[t];
|
||||
return typename(t);
|
||||
}
|
||||
|
||||
|
||||
|
10
ldebug.c
10
ldebug.c
@ -1,5 +1,5 @@
|
||||
/*
|
||||
** $Id: ldebug.c,v 2.61 2010/01/06 14:42:35 roberto Exp roberto $
|
||||
** $Id: ldebug.c,v 2.62 2010/01/11 17:37:59 roberto Exp roberto $
|
||||
** Debug Interface
|
||||
** See Copyright Notice in lua.h
|
||||
*/
|
||||
@ -416,7 +416,7 @@ static int isinstack (CallInfo *ci, const TValue *o) {
|
||||
void luaG_typeerror (lua_State *L, const TValue *o, const char *op) {
|
||||
CallInfo *ci = L->ci;
|
||||
const char *name = NULL;
|
||||
const char *t = luaT_typenames[ttype(o)];
|
||||
const char *t = typename(ttype(o));
|
||||
const char *kind = (isLua(ci) && isinstack(ci, o)) ?
|
||||
getobjname(L, ci, cast_int(o - ci->u.l.base), &name) :
|
||||
NULL;
|
||||
@ -444,9 +444,9 @@ void luaG_aritherror (lua_State *L, const TValue *p1, const TValue *p2) {
|
||||
|
||||
|
||||
int luaG_ordererror (lua_State *L, const TValue *p1, const TValue *p2) {
|
||||
const char *t1 = luaT_typenames[ttype(p1)];
|
||||
const char *t2 = luaT_typenames[ttype(p2)];
|
||||
if (t1[2] == t2[2])
|
||||
const char *t1 = typename(ttype(p1));
|
||||
const char *t2 = typename(ttype(p2));
|
||||
if (t1 == t2)
|
||||
luaG_runerror(L, "attempt to compare two %s values", t1);
|
||||
else
|
||||
luaG_runerror(L, "attempt to compare %s with %s", t1, t2);
|
||||
|
13
ltests.c
13
ltests.c
@ -1,5 +1,5 @@
|
||||
/*
|
||||
** $Id: ltests.c,v 2.85 2009/12/17 16:20:01 roberto Exp roberto $
|
||||
** $Id: ltests.c,v 2.86 2009/12/22 15:32:50 roberto Exp roberto $
|
||||
** Internal Module for Debugging of the Lua Implementation
|
||||
** See Copyright Notice in lua.h
|
||||
*/
|
||||
@ -190,7 +190,7 @@ static void printobj (global_State *g, GCObject *o) {
|
||||
GCObject *p;
|
||||
for (p = g->rootgc; p != o && p != NULL; p = gch(p)->next) i++;
|
||||
if (p == NULL) i = -1;
|
||||
printf("%d:%s(%p)-%c(%02X)", i, luaT_typenames[gch(o)->tt], (void *)o,
|
||||
printf("%d:%s(%p)-%c(%02X)", i, typename(gch(o)->tt), (void *)o,
|
||||
isdead(g,o)?'d':isblack(o)?'b':iswhite(o)?'w':'g', gch(o)->marked);
|
||||
}
|
||||
|
||||
@ -329,10 +329,7 @@ static void checkstack (global_State *g, lua_State *L1) {
|
||||
|
||||
static void checkobject (global_State *g, GCObject *o) {
|
||||
if (isdead(g, o))
|
||||
/* lua_assert(issweep(g));*/
|
||||
{ if (!issweep(g))
|
||||
printf(">>> %d %s %02x\n", g->gcstate, luaT_typenames[gch(o)->tt], gch(o)->marked);
|
||||
}
|
||||
lua_assert(issweep(g));
|
||||
else {
|
||||
if (g->gcstate == GCSfinalize)
|
||||
lua_assert(iswhite(o));
|
||||
@ -1141,10 +1138,6 @@ static int runC (lua_State *L, lua_State *L1, const char *pc) {
|
||||
else if EQ("type") {
|
||||
lua_pushstring(L1, luaL_typename(L1, getnum));
|
||||
}
|
||||
/* else if EQ("getn") {
|
||||
int i = getindex;
|
||||
lua_pushinteger(L1, lua_objlen(L1, i));
|
||||
} */
|
||||
else if EQ("append") {
|
||||
int t = getindex;
|
||||
int i = lua_rawlen(L1, t);
|
||||
|
10
ltm.c
10
ltm.c
@ -1,5 +1,5 @@
|
||||
/*
|
||||
** $Id: ltm.c,v 2.9 2007/09/10 17:59:32 roberto Exp roberto $
|
||||
** $Id: ltm.c,v 2.10 2009/11/19 19:06:52 roberto Exp roberto $
|
||||
** Tag methods
|
||||
** See Copyright Notice in lua.h
|
||||
*/
|
||||
@ -19,10 +19,12 @@
|
||||
#include "ltm.h"
|
||||
|
||||
|
||||
static const char udatatypename[] = "userdata";
|
||||
|
||||
LUAI_DDEF const char *const luaT_typenames[] = {
|
||||
"nil", "boolean", "userdata", "number",
|
||||
"string", "table", "function", "userdata", "thread",
|
||||
LUAI_DDEF const char *const luaT_typenames_[] = {
|
||||
"no value",
|
||||
"nil", "boolean", udatatypename, "number",
|
||||
"string", "table", "function", udatatypename, "thread",
|
||||
"proto", "upval"
|
||||
};
|
||||
|
||||
|
6
ltm.h
6
ltm.h
@ -1,5 +1,5 @@
|
||||
/*
|
||||
** $Id: ltm.h,v 2.7 2007/09/10 17:59:32 roberto Exp roberto $
|
||||
** $Id: ltm.h,v 2.8 2009/11/19 19:06:52 roberto Exp roberto $
|
||||
** Tag methods
|
||||
** See Copyright Notice in lua.h
|
||||
*/
|
||||
@ -43,7 +43,9 @@ typedef enum {
|
||||
|
||||
#define fasttm(l,et,e) gfasttm(G(l), et, e)
|
||||
|
||||
LUAI_DDEC const char *const luaT_typenames[];
|
||||
#define typename(x) luaT_typenames_[(x) + 1]
|
||||
|
||||
LUAI_DDEC const char *const luaT_typenames_[];
|
||||
|
||||
|
||||
LUAI_FUNC const TValue *luaT_gettm (Table *events, TMS event, TString *ename);
|
||||
|
Loading…
Reference in New Issue
Block a user