diff options
Diffstat (limited to 'lauxlib.c')
-rw-r--r-- | lauxlib.c | 10 |
1 files changed, 5 insertions, 5 deletions
@@ -94,14 +94,14 @@ static int pushglobalfuncname (lua_State *L, lua_Debug *ar) { | |||
94 | 94 | ||
95 | 95 | ||
96 | static void pushfuncname (lua_State *L, lua_Debug *ar) { | 96 | static void pushfuncname (lua_State *L, lua_Debug *ar) { |
97 | if (pushglobalfuncname(L, ar)) { /* try first a global name */ | 97 | if (*ar->namewhat != '\0') /* is there a name from code? */ |
98 | lua_pushfstring(L, "function '%s'", lua_tostring(L, -1)); | ||
99 | lua_remove(L, -2); /* remove name */ | ||
100 | } | ||
101 | else if (*ar->namewhat != '\0') /* is there a name from code? */ | ||
102 | lua_pushfstring(L, "%s '%s'", ar->namewhat, ar->name); /* use it */ | 98 | lua_pushfstring(L, "%s '%s'", ar->namewhat, ar->name); /* use it */ |
103 | else if (*ar->what == 'm') /* main? */ | 99 | else if (*ar->what == 'm') /* main? */ |
104 | lua_pushliteral(L, "main chunk"); | 100 | lua_pushliteral(L, "main chunk"); |
101 | else if (pushglobalfuncname(L, ar)) { /* try a global name */ | ||
102 | lua_pushfstring(L, "function '%s'", lua_tostring(L, -1)); | ||
103 | lua_remove(L, -2); /* remove name */ | ||
104 | } | ||
105 | else if (*ar->what != 'C') /* for Lua functions, use <file:line> */ | 105 | else if (*ar->what != 'C') /* for Lua functions, use <file:line> */ |
106 | lua_pushfstring(L, "function <%s:%d>", ar->short_src, ar->linedefined); | 106 | lua_pushfstring(L, "function <%s:%d>", ar->short_src, ar->linedefined); |
107 | else /* nothing left... */ | 107 | else /* nothing left... */ |