Method code for $tag.new_tag()

[Turn on line numbering]
arg name, flags, args, method;
var item, eflags;

eflags = [];
for item in (flags) {
    switch (type(item)) {
        case 'string:
            eflags = eflags.addkey(item, 1);
        case 'list:
            if (type(item[1]) != 'string)
                throw(~flagerr, "Flag name must be a string.");
            eflags = eflags.addkey(item[1], item[2]);
        default:
            throw(~flagerr, "Flag must be a string or key,value pair.");
    }
}
return (<this(), [name, eflags, args, method]>);

// Created 17-Jul-1996 as a part of ColdCore, see: @help Credit

Tlon