parent $user_interfaces object $messages_ui var $root dbref 'messages_ui var $root child_index 0 var $root fertile 1 var $root manager $messages_ui var $root owned [$messages_ui] var $root owners [$] var $root writable [] var $root readable ['parameters, 'methods, 'code] var $old_command_environment verb_cache #[] var $old_command_environment command_cache [["@mesg *", 'mesg_cmd]] var $old_command_environment shortcuts_cache [] var $has_commands commands [["@mesg *", 'mesg_cmd]] var $has_commands shortcuts [] var $root inited 1 method mesg_cmd arg com, args; var style, pos, mesg, obj, name, definer, matches, m, o, n, output, m, me; pos = " is " in args; if (pos) { style = 'set; mesg = substr(args, pos + 4); args = substr(args, 1, pos - 1); } else { style = 'get; mesg = ""; } pos = "on " in args; if (pos) { obj = .match_env_nice(substr(args, pos + 3)); args = substr(args, 1, pos - 1); } else { obj = this(); } if (!(obj.has_ancestor($has_messages))) { .tell((obj.dbref()) + " does not have messages."); return; } pos = ":" in args; if (pos) { definer = .match_env_nice(substr(args, pos - 1)); name = substr(args, pos + 1); } else { name = args; } if (style == 'set) { obj.set_message_part(name, definer, mesg); } else { output = .parse_messages(obj.messages(), name); .tell(output); return; } . method parse_messages arg message, [mask]; var output, definer, m, p, s; output = []; mask = [@mask, ""][1]; for definer in (dict_keys(message)) { output = [@output, (((definer.name()) + " (") + (definer.dbref())) + "):"]; for m in (dict_keys(message[definer])) { // .debug(.message(m, definer)); p = (.message(m, definer)).uncompile(); if (type(p) == 'dictionary) { for s in (dict_keys(p)) { if (match_begin((m + ".") + s, mask)) output = [@output, [(((" " + m) + ".") + s) + ": "].join(p[s])]; } } else if (match_begin(m, mask)) { output = [@output, [(" " + m) + ": "].join(p)]; } } } return output; .