diff options
| author | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2019-01-01 12:14:56 -0200 |
|---|---|---|
| committer | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2019-01-01 12:14:56 -0200 |
| commit | c6f7181e910b6b2ff1346b5486a31be87b1da5af (patch) | |
| tree | 92cc716487c83ecd9860444f23fd55ef65358cbb /lapi.c | |
| parent | 437a5b07d415e1a74160ddfd804017171d6cc5cb (diff) | |
| download | lua-c6f7181e910b6b2ff1346b5486a31be87b1da5af.tar.gz lua-c6f7181e910b6b2ff1346b5486a31be87b1da5af.tar.bz2 lua-c6f7181e910b6b2ff1346b5486a31be87b1da5af.zip | |
No more LUA_ERRGCMM errors
Errors in finalizers (__gc metamethods) are never propagated.
Instead, they generate a warning.
Diffstat (limited to 'lapi.c')
| -rw-r--r-- | lapi.c | 4 |
1 files changed, 1 insertions, 3 deletions
| @@ -1276,10 +1276,8 @@ void lua_setwarnf (lua_State *L, lua_WarnFunction f, void *ud) { | |||
| 1276 | 1276 | ||
| 1277 | 1277 | ||
| 1278 | void lua_warning (lua_State *L, const char *msg) { | 1278 | void lua_warning (lua_State *L, const char *msg) { |
| 1279 | lua_WarnFunction wf = G(L)->warnf; | ||
| 1280 | lua_lock(L); | 1279 | lua_lock(L); |
| 1281 | if (wf != NULL) | 1280 | luaE_warning(L, msg); |
| 1282 | wf(&G(L)->ud_warn, msg); | ||
| 1283 | lua_unlock(L); | 1281 | lua_unlock(L); |
| 1284 | } | 1282 | } |
| 1285 | 1283 | ||
