Method code for $foundation.set_msg()

[Turn on line numbering]
arg name, branch, definer, value;
var compiler, branches, msg, definer, b;

(> .perms(sender()) <);
compiler = (| definer.get_msg_attr(name, 'compiler) |) || $compiler;
value = (> compiler.compile_cml(value) <);
branch ?= "general";
branches = definer.get_msg_attr(name, 'branches);
if (!find b in (branches) where (match_pattern(branch, b) != 0) && match_pattern(branch + ".", b))
    throw(~badbranch, "Message branch \"" + branch + "\" is invalid.");
msgs ?= #[];
msg = dict_add((| msgs[name] |) || #[], branch, value);
msgs = dict_add(msgs, name, msg);

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

the Cold Dark