[Turn on line numbering]arg node, data, neighbors, is_dest; var d, i, j, path; d = #[[node, 'source]]; i = 1; while (i <= d.keys().length() && !(node = (d.keys())[i++]).(is_dest)(data)) { refresh(); for j in (node.(neighbors)()) d = d.add(j, node); } if (i <= d.keys().length()) { refresh(); path = [node]; while ((node = d[node]) != 'source) path += [node]; return path; } else { return 0; }
["// Created 23-Nov-1996 as a part of ColdCore, see: @help Credit"]