[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