Method code for $compiler.do_link()

[Turn off line numbering]
  1: arg vars, flags, args;
  2: var links, item, node;
  3: 
  4: if (listlen(args) == 0)
  5:     throw(~parse, "{link} requires an argument of the link name.");
  6: links = (| vars['links] |) || #[];
  7: for item in (flags) {
  8:     if (type(item) == 'list && item[1] == "node") {
  9:         node = item[2];
 10:         break;
 11:     }
 12: }
 13: if (!node)
 14:     throw(~parse, "No node for {link}.");
 15: if (args.length() != 1 || type(args[1]) != 'string)
 16:     throw(~parse, "{link} argument must be a string");
 17: links = links.add(args[1], node);
 18: return [$format.new_tag("link", flags, args), vars.add('links, links)];

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

Tlon