Method code for $builder.attach_cmd()

[Turn on line numbering]
arg cmdstr, cmd, source, prep, dest;
var path;

(> .perms(caller(), 'command) <);
if (!source) {
    source = .location();
} else {
    catch any
        source = (> .match_environment(source) <);
    with
        return traceback()[1][2];
    if (!source.is($place))
        return source.namef('ref) + " is not a $place.";
}
catch ~abort, ~skip
    path = (> .build_get_path(source, dest) <);
with
    return "Aborted.";
catch any {
    path.attach(source, dest);
    (> path.configure(#[['named_name, 1]]) <);
} with {
    .tell("Ack, unable to attach path because:");
    .tell("  " + traceback()[1][2]);
    (| path.destroy() |);
    return;
}
return "Successfully attached path " + path.name() + ".";

["// Created 26-Mar-1995 as a part of ColdCore, see: @help Credit"]

the Cold Dark