Method code for $root.undefine_setting()

[Turn on line numbering]
arg name;
var d;

(> .perms(sender()) <);
if (!.defined_settings().contains(name))
    throw(~setnf, "Setting \"" + name + "\" is not defined by " + this());

// clear it on all descendants, then us
for d in (.descendants() + [this()]) {
    d._clear_setting(name);
    pause();
}

// bye bye
defined_settings = dict_del(defined_settings, name);
if (!defined_settings)
    clear_var('defined_settings);

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

the Cold Dark