diff options
| -rw-r--r-- | bugs | 21 |
1 files changed, 21 insertions, 0 deletions
| @@ -1616,6 +1616,27 @@ lapi.c: | |||
| 1616 | } | 1616 | } |
| 1617 | 1617 | ||
| 1618 | Bug{ | 1618 | Bug{ |
| 1619 | what = [[stand-alone interpreter shows incorrect error message | ||
| 1620 | when the "message" is a coroutine]], | ||
| 1621 | report = [[Patrick Donnelly, on 17/12/2007]], | ||
| 1622 | since = [[i ]], | ||
| 1623 | example = [[> error(coroutine.create(function() end))]], | ||
| 1624 | patch = [[ | ||
| 1625 | lua.c: | ||
| 1626 | @@ -74,6 +74,8 @@ | ||
| 1627 | |||
| 1628 | |||
| 1629 | static int traceback (lua_State *L) { | ||
| 1630 | + if (!lua_isstring(L, 1)) /* 'message' not a string? */ | ||
| 1631 | + return 1; /* keep it intact */ | ||
| 1632 | lua_getfield(L, LUA_GLOBALSINDEX, "debug"); | ||
| 1633 | if (!lua_istable(L, -1)) { | ||
| 1634 | lua_pop(L, 1); | ||
| 1635 | |||
| 1636 | ]], | ||
| 1637 | } | ||
| 1638 | |||
| 1639 | Bug{ | ||
| 1619 | what = [[ ]], | 1640 | what = [[ ]], |
| 1620 | report = [[ , on ]], | 1641 | report = [[ , on ]], |
| 1621 | since = [[i ]], | 1642 | since = [[i ]], |
