Method code for $root.undefine_setting()

[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"]

the Cold Dark