From 97d287dd531c280826c6216c73cdb0c4cb755a07 Mon Sep 17 00:00:00 2001 From: Anonomit Date: Sat, 4 Nov 2023 19:26:49 -0400 Subject: [PATCH] AceDB-3.0: Respect falsy ["*"] defaults Setting '["*"] = false' in an options table currently does nothing, since the option will still appear to be nil when accessed. --- AceDB-3.0/AceDB-3.0.lua | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/AceDB-3.0/AceDB-3.0.lua b/AceDB-3.0/AceDB-3.0.lua index d2a5a94..bd52c52 100644 --- a/AceDB-3.0/AceDB-3.0.lua +++ b/AceDB-3.0/AceDB-3.0.lua @@ -111,7 +111,12 @@ local function copyDefaults(dest, src) end else -- Values are not tables, so this is just a simple return - local mt = {__index = function(t,k2) return k2~=nil and v or nil end} + local mt = { + __index = function(t,k2) + if k2 == nil then return nil end + return v + end, + } setmetatable(dest, mt) end elseif type(v) == "table" then