|
@@ -54,7 +54,7 @@ enum {
|
|
CUSTOM_RIDX_SCRIPTAPI,
|
|
CUSTOM_RIDX_SCRIPTAPI,
|
|
CUSTOM_RIDX_GLOBALS_BACKUP,
|
|
CUSTOM_RIDX_GLOBALS_BACKUP,
|
|
CUSTOM_RIDX_CURRENT_MOD_NAME,
|
|
CUSTOM_RIDX_CURRENT_MOD_NAME,
|
|
- CUSTOM_RIDX_BACKTRACE,
|
|
|
|
|
|
+ CUSTOM_RIDX_ERROR_HANDLER,
|
|
CUSTOM_RIDX_HTTP_API_LUA,
|
|
CUSTOM_RIDX_HTTP_API_LUA,
|
|
CUSTOM_RIDX_METATABLE_MAP,
|
|
CUSTOM_RIDX_METATABLE_MAP,
|
|
|
|
|
|
@@ -78,7 +78,7 @@ enum {
|
|
|
|
|
|
// Pushes the error handler onto the stack and returns its index
|
|
// Pushes the error handler onto the stack and returns its index
|
|
#define PUSH_ERROR_HANDLER(L) \
|
|
#define PUSH_ERROR_HANDLER(L) \
|
|
- (lua_rawgeti((L), LUA_REGISTRYINDEX, CUSTOM_RIDX_BACKTRACE), lua_gettop((L)))
|
|
|
|
|
|
+ (lua_rawgeti((L), LUA_REGISTRYINDEX, CUSTOM_RIDX_ERROR_HANDLER), lua_gettop((L)))
|
|
|
|
|
|
#define PCALL_RESL(L, RES) { \
|
|
#define PCALL_RESL(L, RES) { \
|
|
int result_ = (RES); \
|
|
int result_ = (RES); \
|
|
@@ -121,6 +121,8 @@ enum RunCallbacksMode
|
|
std::string script_get_backtrace(lua_State *L);
|
|
std::string script_get_backtrace(lua_State *L);
|
|
// Wrapper for CFunction calls that converts C++ exceptions to Lua errors
|
|
// Wrapper for CFunction calls that converts C++ exceptions to Lua errors
|
|
int script_exception_wrapper(lua_State *L, lua_CFunction f);
|
|
int script_exception_wrapper(lua_State *L, lua_CFunction f);
|
|
|
|
+// Acts as the error handler for lua_pcall
|
|
|
|
+int script_error_handler(lua_State *L);
|
|
// Takes an error from lua_pcall and throws it as a LuaError
|
|
// Takes an error from lua_pcall and throws it as a LuaError
|
|
void script_error(lua_State *L, int pcall_result, const char *mod, const char *fxn);
|
|
void script_error(lua_State *L, int pcall_result, const char *mod, const char *fxn);
|
|
|
|
|