Method code for $root.set_setting_attr()

[Turn on line numbering]
arg name, attr, value;
var info;

(> .perms(sender()) <);
if (!defined_settings || !dict_contains(defined_settings, name))
    throw(~setnf, "Setting \"" + name + "\" is not defined on " + this());
if (value && !(> .valid_setting_attr(attr, value) <))
    return;
info = defined_settings[name];
if (!value)
    info = dict_del(info, attr);
else
    info = dict_add(info, attr, value);
defined_settings = dict_add(defined_settings, name, info);

["// Created as a part of ColdCore, see: @help Credit"]

the Cold Dark