fix(libs): restore ElvUI-namespaced Ace3 stack clobbered by sweep

The coa-ace3 sweep (commits 0c130e0..5ea6e44, before coa-elvui was added to
EXCLUDED_FORKS in coa-ace3 tools/sweep.py) overwrote ElvUI's customized,
-ElvUI-namespaced Ace3 libs with plain canonical ones. ElvUI registers libs
as AceLocale-3.0-ElvUI and the AceConfig-3.0-ElvUI family (plus -ElvUI
widgets that don't exist in canonical), so the clobber left them
unregistered: ElvUI failed to init (16 locale 'L' errors) and /ec would not
open. Restores ElvUI/Libraries/Ace3/AceLocale-3.0 and the
ElvUI_OptionsUI/Libraries/Ace3 stack to their pre-sweep state (5021fd1).
coa-elvui is now in EXCLUDED_FORKS, so this won't be re-clobbered.
This commit is contained in:
2026-05-25 19:30:48 +02:00
parent 49a3d4c81c
commit 4a1cf548ef
28 changed files with 915 additions and 855 deletions
@@ -14,9 +14,9 @@ REQUIRES: AceConsole-3.0 for command registration (loaded on demand)
-- TODO: plugin args
local cfgreg = LibStub("AceConfigRegistry-3.0")
local cfgreg = LibStub("AceConfigRegistry-3.0-ElvUI")
local MAJOR, MINOR = "AceConfigCmd-3.0", 14
local MAJOR, MINOR = "AceConfigCmd-3.0-ElvUI", 14
local AceConfigCmd = LibStub:NewLibrary(MAJOR, MINOR)
if not AceConfigCmd then return end
@@ -37,10 +37,17 @@ local error, assert = error, assert
-- WoW APIs
local _G = _G
-- Global vars/functions that we don't upvalue since they might get hooked, or upgraded
-- List them here for Mikk's FindGlobals script
-- GLOBALS: LibStub, SELECTED_CHAT_FRAME, DEFAULT_CHAT_FRAME
local L = setmetatable({}, { -- TODO: replace with proper locale
__index = function(self,k) return k end
})
local function print(msg)
(SELECTED_CHAT_FRAME or DEFAULT_CHAT_FRAME):AddMessage(msg)
end
@@ -394,7 +401,7 @@ local function handle(info, inputpos, tab, depth, retfalse)
return
end
local strInput = strsub(info.input,inputpos);
local str = strsub(info.input,inputpos);
if tab.type=="execute" then
------------ execute --------------------------------------------
@@ -407,21 +414,21 @@ local function handle(info, inputpos, tab, depth, retfalse)
local res = true
if tab.pattern then
if type(tab.pattern)~="string" then err(info, inputpos, "'pattern' - expected a string") end
if not strmatch(strInput, tab.pattern) then
usererr(info, inputpos, "'"..strInput.."' - " .. L["invalid input"])
if not(type(tab.pattern)=="string") then err(info, inputpos, "'pattern' - expected a string") end
if not strmatch(str, tab.pattern) then
usererr(info, inputpos, "'"..str.."' - " .. L["invalid input"])
return
end
end
do_final(info, inputpos, tab, "set", strInput)
do_final(info, inputpos, tab, "set", str)
elseif tab.type=="toggle" then
------------ toggle --------------------------------------------
local b
local str = strtrim(strlower(strInput))
local str = strtrim(strlower(str))
if str=="" then
b = callmethod(info, inputpos, tab, "get")
@@ -458,9 +465,9 @@ local function handle(info, inputpos, tab, depth, retfalse)
elseif tab.type=="range" then
------------ range --------------------------------------------
local val = tonumber(strInput)
local val = tonumber(str)
if not val then
usererr(info, inputpos, "'"..strInput.."' - "..L["expected number"])
usererr(info, inputpos, "'"..str.."' - "..L["expected number"])
return
end
if type(info.step)=="number" then
@@ -480,7 +487,7 @@ local function handle(info, inputpos, tab, depth, retfalse)
elseif tab.type=="select" then
------------ select ------------------------------------
local str = strtrim(strlower(strInput))
local str = strtrim(strlower(str))
local values = tab.values
if type(values) == "function" or type(values) == "string" then
@@ -521,7 +528,7 @@ local function handle(info, inputpos, tab, depth, retfalse)
elseif tab.type=="multiselect" then
------------ multiselect -------------------------------------------
local str = strtrim(strlower(strInput))
local str = strtrim(strlower(str))
local values = tab.values
if type(values) == "function" or type(values) == "string" then
@@ -558,7 +565,7 @@ local function handle(info, inputpos, tab, depth, retfalse)
--check that the opt is valid
local ok
for k in pairs(values) do
for k,v in pairs(values) do
if strlower(k)==opt then
opt = k -- overwrite with key (in case of case mismatches)
ok = true
@@ -627,7 +634,7 @@ local function handle(info, inputpos, tab, depth, retfalse)
elseif tab.type=="color" then
------------ color --------------------------------------------
local str = strtrim(strlower(strInput))
local str = strtrim(strlower(str))
if str == "" then
--TODO: Show current value
return
@@ -699,7 +706,7 @@ local function handle(info, inputpos, tab, depth, retfalse)
elseif tab.type=="keybinding" then
------------ keybinding --------------------------------------------
local str = strtrim(strlower(strInput))
local str = strtrim(strlower(str))
if str == "" then
--TODO: Show current value
return