From 2df2fddf1cf69a267a9f78feeb691fce47303953 Mon Sep 17 00:00:00 2001 From: Dusk-92 Date: Wed, 26 Aug 2026 16:08:11 +0200 Subject: [PATCH] Preserve core Lua error semantics --- main.lua | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/main.lua b/main.lua index 0892d2f..928c4cb 100644 --- a/main.lua +++ b/main.lua @@ -3,15 +3,22 @@ local _G = _G or getfenv(0) SLASH_RELOAD1 = '/rl' function SlashCmdList.RELOAD(msg, editbox) ReloadUI() end -message = function(msg) - DEFAULT_CHAT_FRAME:AddMessage("|cffffff00" .. ( msg or "nil" )) +local function ChatMessage(msg) + DEFAULT_CHAT_FRAME:AddMessage("|cffffff00" .. tostring(msg or "nil")) end -print = print or message -error = function(msg) - DEFAULT_CHAT_FRAME:AddMessage("|cffff0000".. (msg or "nil" )) +-- Keep the client's native message() function when available. Older clients +-- without print() still get the historical ShaguTweaks chat fallback. +message = message or ChatMessage +print = print or ChatMessage + +local function ChatErrorHandler(msg) + DEFAULT_CHAT_FRAME:AddMessage("|cffff0000" .. tostring(msg or "nil")) end -seterrorhandler(error) + +-- Route uncaught Lua errors to chat without replacing Lua's global error(). +-- Addons rely on error() to abort invalid execution paths. +seterrorhandler(ChatErrorHandler) ShaguTweaks = CreateFrame("Frame") ShaguTweaks.mods = {}