core: don't rely on sane global environment
some addons like to provide a broken _G variable to the global environment breaking every other addon that relies on it if existing. With this commit, make ShaguTweaks no longer re-use the global _G, even if existing.
This commit is contained in:
+1
-1
@@ -1,4 +1,4 @@
|
||||
local _G = _G or getfenv(0)
|
||||
local _G = ShaguTweaks.GetGlobalEnv()
|
||||
local GetExpansion = ShaguTweaks.GetExpansion
|
||||
local mod = math.mod or mod
|
||||
|
||||
|
||||
+24
-1
@@ -1,6 +1,29 @@
|
||||
local _G = _G or getfenv(0)
|
||||
local gfind = string.gmatch or string.gfind
|
||||
|
||||
ShaguTweaks.GetExpansion = function()
|
||||
local _, _, _, client = GetBuildInfo()
|
||||
client = client or 11200
|
||||
|
||||
-- detect client expansion
|
||||
if client >= 20000 and client <= 20400 then
|
||||
return "tbc"
|
||||
elseif client >= 30000 and client <= 30300 then
|
||||
return "wotlk"
|
||||
else
|
||||
return "vanilla"
|
||||
end
|
||||
end
|
||||
|
||||
ShaguTweaks.GetGlobalEnv = function()
|
||||
if ShaguTweaks.GetExpansion() == 'vanilla' then
|
||||
return getfenv(0)
|
||||
else
|
||||
return _G or getfenv(0)
|
||||
end
|
||||
end
|
||||
|
||||
local _G = ShaguTweaks.GetGlobalEnv()
|
||||
|
||||
local gradientcolors = {}
|
||||
ShaguTweaks.GetColorGradient = function(perc)
|
||||
perc = perc > 1 and 1 or perc
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
local _G = _G or getfenv(0)
|
||||
local _G = ShaguTweaks.GetGlobalEnv()
|
||||
|
||||
local module = ShaguTweaks:register({
|
||||
title = "Auto Dismount",
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
local _G = _G or getfenv(0)
|
||||
local _G = ShaguTweaks.GetGlobalEnv()
|
||||
local strsplit = ShaguTweaks.strsplit
|
||||
|
||||
local module = ShaguTweaks:register({
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
local _G = _G or getfenv(0)
|
||||
local _G = ShaguTweaks.GetGlobalEnv()
|
||||
local GetExpansion = ShaguTweaks.GetExpansion
|
||||
|
||||
local module = ShaguTweaks:register({
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
local _G = _G or getfenv(0)
|
||||
local _G = ShaguTweaks.GetGlobalEnv()
|
||||
local gfind = string.gmatch or string.gfind
|
||||
local GetUnitData = ShaguTweaks.GetUnitData
|
||||
local hooksecurefunc = ShaguTweaks.hooksecurefunc
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
local _G = _G or getfenv(0)
|
||||
local _G = ShaguTweaks.GetGlobalEnv()
|
||||
local scrollspeed = 1
|
||||
|
||||
local module = ShaguTweaks:register({
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
local _G = _G or getfenv(0)
|
||||
local _G = ShaguTweaks.GetGlobalEnv()
|
||||
local hooksecurefunc = hooksecurefunc or ShaguTweaks.hooksecurefunc
|
||||
local GetExpansion = ShaguTweaks.GetExpansion
|
||||
local AddBorder = ShaguTweaks.AddBorder
|
||||
|
||||
+1
-1
@@ -16,7 +16,7 @@ local module = ShaguTweaks:register({
|
||||
-- Global code:
|
||||
-- This is where you can put your most basic variable assignments.
|
||||
-- Code in this scope will *always* run, no matter if the module is enabled or not.
|
||||
local _G = _G or getfenv(0)
|
||||
local _G = ShaguTweaks.GetGlobalEnv()
|
||||
|
||||
module.enable = function(self)
|
||||
-- Module code:
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
local _G = _G or getfenv(0)
|
||||
local _G = ShaguTweaks.GetGlobalEnv()
|
||||
local HookAddonOrVariable = ShaguTweaks.HookAddonOrVariable
|
||||
local GetExpansion = ShaguTweaks.GetExpansion
|
||||
local AddBorder = ShaguTweaks.AddBorder
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
local _G = _G or getfenv(0)
|
||||
local _G = ShaguTweaks.GetGlobalEnv()
|
||||
|
||||
local module = ShaguTweaks:register({
|
||||
title = "Equip Compare",
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
local _G = _G or getfenv(0)
|
||||
local _G = ShaguTweaks.GetGlobalEnv()
|
||||
local Abbreviate = ShaguTweaks.Abbreviate
|
||||
local GetColorGradient = ShaguTweaks.GetColorGradient
|
||||
local vanilla = ShaguTweaks.GetExpansion() == "vanilla" or nil
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
local _G = _G or getfenv(0)
|
||||
local _G = ShaguTweaks.GetGlobalEnv()
|
||||
local Abbreviate = ShaguTweaks.Abbreviate
|
||||
local GetColorGradient = ShaguTweaks.GetColorGradient
|
||||
local vanilla = ShaguTweaks.GetExpansion() == "vanilla" or nil
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
local _G = _G or getfenv(0)
|
||||
local _G = ShaguTweaks.GetGlobalEnv()
|
||||
|
||||
local module = ShaguTweaks:register({
|
||||
title = "Hide Errors",
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
local _G = _G or getfenv(0)
|
||||
local _G = ShaguTweaks.GetGlobalEnv()
|
||||
|
||||
local module = ShaguTweaks:register({
|
||||
title = "Hide Gryphons",
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
local _G = _G or getfenv(0)
|
||||
local _G = ShaguTweaks.GetGlobalEnv()
|
||||
local GetExpansion = ShaguTweaks.GetExpansion
|
||||
local AddBorder = ShaguTweaks.AddBorder
|
||||
local HookAddonOrVariable = ShaguTweaks.HookAddonOrVariable
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
local _G = _G or getfenv(0)
|
||||
local _G = ShaguTweaks.GetGlobalEnv()
|
||||
|
||||
local module = ShaguTweaks:register({
|
||||
title = "MiniMap Clock",
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
local _G = _G or getfenv(0)
|
||||
local _G = ShaguTweaks.GetGlobalEnv()
|
||||
|
||||
local module = ShaguTweaks:register({
|
||||
title = "MiniMap Square",
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
local _G = _G or getfenv(0)
|
||||
local _G = ShaguTweaks.GetGlobalEnv()
|
||||
|
||||
local module = ShaguTweaks:register({
|
||||
title = "MiniMap Tweaks",
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
local _G = _G or getfenv(0)
|
||||
local _G = ShaguTweaks.GetGlobalEnv()
|
||||
|
||||
local module = ShaguTweaks:register({
|
||||
title = "Movable Unit Frames",
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
local _G = _G or getfenv(0)
|
||||
local _G = ShaguTweaks.GetGlobalEnv()
|
||||
local GetUnitData = ShaguTweaks.GetUnitData
|
||||
|
||||
local module = ShaguTweaks:register({
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
local _G = _G or getfenv(0)
|
||||
local _G = ShaguTweaks.GetGlobalEnv()
|
||||
|
||||
local module = ShaguTweaks:register({
|
||||
title = "Nameplate Scale",
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
local _G = _G or getfenv(0)
|
||||
local _G = ShaguTweaks.GetGlobalEnv()
|
||||
|
||||
local module = ShaguTweaks:register({
|
||||
title = "Sell Junk",
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
local _G = _G or getfenv(0)
|
||||
local _G = ShaguTweaks.GetGlobalEnv()
|
||||
local L = ShaguTweaks.L
|
||||
local gfind = string.gmatch or string.gfind
|
||||
local GetUnitData = ShaguTweaks.GetUnitData
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
local _G = _G or getfenv(0)
|
||||
local _G = ShaguTweaks.GetGlobalEnv()
|
||||
local GetExpansion = ShaguTweaks.GetExpansion
|
||||
local UnitCastingInfo = ShaguTweaks.UnitCastingInfo
|
||||
local UnitChannelInfo = ShaguTweaks.UnitChannelInfo
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
local _G = _G or getfenv(0)
|
||||
local _G = ShaguTweaks.GetGlobalEnv()
|
||||
|
||||
local module = ShaguTweaks:register({
|
||||
title = "Debuff Timer",
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
local _G = _G or getfenv(0)
|
||||
local _G = ShaguTweaks.GetGlobalEnv()
|
||||
local round = ShaguTweaks.round
|
||||
local rgbhex = ShaguTweaks.rgbhex
|
||||
local Abbreviate = ShaguTweaks.Abbreviate
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
local _G = _G or getfenv(0)
|
||||
local _G = ShaguTweaks.GetGlobalEnv()
|
||||
|
||||
local module = ShaguTweaks:register({
|
||||
title = "Unit Frame Big Health",
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
local _G = _G or getfenv(0)
|
||||
local _G = ShaguTweaks.GetGlobalEnv()
|
||||
|
||||
local module = ShaguTweaks:register({
|
||||
title = "Unit Frame Class Colors",
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
local _G = _G or getfenv(0)
|
||||
local _G = ShaguTweaks.GetGlobalEnv()
|
||||
|
||||
local addonpath
|
||||
local tocs = { "", "-master", "-tbc", "-wotlk" }
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
local _G = _G or getfenv(0)
|
||||
local _G = ShaguTweaks.GetGlobalEnv()
|
||||
local GetExpansion = ShaguTweaks.GetExpansion
|
||||
|
||||
local module = ShaguTweaks:register({
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
local _G = _G or getfenv(0)
|
||||
local _G = ShaguTweaks.GetGlobalEnv()
|
||||
|
||||
local module = ShaguTweaks:register({
|
||||
title = "WorldMap Class Colors",
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
local _G = _G or getfenv(0)
|
||||
local _G = ShaguTweaks.GetGlobalEnv()
|
||||
|
||||
local module = ShaguTweaks:register({
|
||||
title = "WorldMap Coordinates",
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
local _G = _G or getfenv(0)
|
||||
local _G = ShaguTweaks.GetGlobalEnv()
|
||||
local HookScript = ShaguTweaks.HookScript
|
||||
|
||||
local module = ShaguTweaks:register({
|
||||
|
||||
Reference in New Issue
Block a user