Method code for $foundation.set_msg()

[Turn off line numbering]
  1: arg name, branch, definer, value;
  2: var compiler, branches, msg, definer, b;
  3: 
  4: (> .perms(sender()) <);
  5: compiler = (| definer.get_msg_attr(name, 'compiler) |) || $compiler;
  6: value = (> compiler.compile_cml(value) <);
  7: branch ?= "general";
  8: branches = definer.get_msg_attr(name, 'branches);
  9: if (!find b in (branches) where (match_pattern(branch, b) != 0) && match_pattern(branch + ".", b))
 10:     throw(~badbranch, "Message branch \"" + branch + "\" is invalid.");
 11: msgs ?= #[];
 12: msg = dict_add((| msgs[name] |) || #[], branch, value);
 13: msgs = dict_add(msgs, name, msg);

// Created 27-Mar-1995 as a part of ColdCore, see: @help Credit

Tlon