}
if (do_log) {
- warningstream << message << std::endl;
- // L can be NULL if we get called by log_deprecated(const std::string &msg)
- // from scripting_game.cpp.
+ warningstream << message;
+ if (L) { // L can be NULL if we get called from scripting_game.cpp
+ lua_Debug ar;
+ FATAL_ERROR_IF(!lua_getstack(L, 2, &ar), "lua_getstack() failed");
+ FATAL_ERROR_IF(!lua_getinfo(L, "Sl", &ar), "lua_getinfo() failed");
+ warningstream << " (at " << ar.short_src << ":" << ar.currentline << ")";
+ }
+ warningstream << std::endl;
+
if (L) {
if (do_error)
script_error(L, LUA_ERRRUN, NULL, NULL);