I think I solved it with your hints, tips, and extra eyes. I'll trim out the extra code, so the line numbers won't line up, but it gets the point. I will know for sure next time I log in. The adjusted line 195 now reads
Code:
values = function() return SortedAddOns(AddOnList) end,
Which calls the following chunk at the top of the file.
Lua Code:
-- create a list of installed AddOns that are returned to the options table
local AddOnList = {}
local function SortedAddOns(AddOnList)
table.wipe(AddOnList) -- clean slate
for i = 1, GetNumAddOns() do
local folderName, title = GetAddOnInfo(i)
if not exempt[folderName] then -- ignore exempt addons
-- Lua tables start with an index of 1, and if AddOnList is empty, bump it to 1 instead of 0 for its first entry
local index = #AddOnList + 1
AddOnList[index] = title
end
end
-- now sort AddOnList alphabetically
table.sort(AddOnList, function(a, b)
return a.name > b.name
end)
-- return AddOnList to options
return AddOnList
end