Method code for $root.define_setting()

[Turn off line numbering]
  1: arg name, @info;
  2: var i;
  3: 
  4: (> .perms(sender()) <);
  5: if (info) {
  6:     info = info[1];
  7:     for i in (info) {
  8:         if (!(> .valid_setting_attr(@i) <))
  9:             info = dict_del(info, i[1]);
 10:     }
 11: } else {
 12:     info = #[];
 13: }
 14: if (.all_defined_settings().contains(name))
 15:     throw(~setexists, "Setting \"" + name + "\" is already defined.");
 16: if (!$code_lib.valid_setting_id(name))
 17:     throw(~setbad, "Setting name \"" + name + "\" is unacceptable.");
 18: defined_settings = .defined_settings().add(name, info);
 19: return defined_settings[name];

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

the Cold Dark