[Turn on line numbering]
arg name, all;
var m, parts, mparts, mname, yes, x;
m = [];
parts = explode(name, "-");
for mname in (all) {
mparts = explode(mname, "-");
if (listlen(parts) == listlen(mparts)) {
yes = 1;
for x in [1 .. listlen(parts)] {
if (!match_begin(mparts[x], parts[x])) {
yes = 0;
break;
}
}
if (yes)
m += [mname];
}
}
if (listlen(m) == 1)
name = m[1];
else if (listlen(m) > 1)
throw(~ambig, "Multiple messages match the name '" + name + "'", m);
else
throw(~nomatch, "No messages match the name '" + name + "'");
return name;
["// Created 26-Mar-1995 as a part of ColdCore, see: @help Credit"]