[Turn off line numbering]
1: arg name;
2: var d;
3:
4: (> .perms(sender()) <);
5: if (!.defined_settings().contains(name))
6: throw(~setnf, "Setting \"" + name + "\" is not defined by " + this());
7:
8: // clear it on all descendants, then us
9: for d in (.descendants() + [this()]) {
10: d._clear_setting(name);
11: pause();
12: }
13:
14: // bye bye
15: defined_settings = dict_del(defined_settings, name);
16: if (!defined_settings)
17: clear_var('defined_settings);
["// Created as a part of ColdCore, see: @help Credit"]