Method code for $compiler.do_link()

[Turn on line numbering]
arg vars, flags, args;
var links, item, node;

if (listlen(args) == 0)
    throw(~parse, "{link} requires an argument of the link name.");
links = (| vars['links] |) || #[];
for item in (flags) {
    if (type(item) == 'list && item[1] == "node") {
        node = item[2];
        break;
    }
}
if (!node)
    throw(~parse, "No node for {link}.");
if (args.length() != 1 || type(args[1]) != 'string)
    throw(~parse, "{link} argument must be a string");
links = links.add(args[1], node);
return [$format.new_tag("link", flags, args), vars.add('links, links)];

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

Tlon