Method code for $builder._ar__ilist()

[Turn on line numbering]
arg how;
var requests, list, g, r, pr, list, keys, choice;

while (1) {
    if (how == 'mine) {
        requests = #[];
        for g in (setremove($argroup.children(), $dismissed_problems)) {
            list = filter r in (g.requests()) where (!r[2][2] && r[2][5] == this());
            if (list)
                requests = dict_add(requests, g, list);
        }
        .tell("** Your Un-Resolved Action Requests:");
        list = ._ar__listgrp(requests, .linelen() - 32, 1);
    } else {
        list = 0;
        catch ~abort
            list = (> ._ar__list([], []) <);
        if (list == #[])
            continue;
        if (!list || list == "Goodbye.")
            return;
    }
    pr = (> .prompt("Select Action Request, or [RET] to exit") <);
    if (!pr || match_template(pr, "x|ex?it"))
        return;
    if (!pr.is_numeric() || !dict_contains(list, toint(pr))) {
        .tell("Invalid Action Request");
    } else {
        pr = toint(pr);
        keys = dict_keys(list);
        while ((choice = ._ar__iview(list[pr]))) {
            if (choice == 'next) {
                r = pr in keys;
                if (r < listlen(keys)) {
                    pr = keys[r + 1];
                } else {
                    .tell("No Next Action Request.");
                    break;
                }
            } else {
                r = pr in keys;
                if (r != 1) {
                    pr = keys[r - 1];
                } else {
                    .tell("No Previous Action Request.");
                    break;
                }
            }
        }
    }
}

// $#Edited: 27 Aug 01 16:06 $user_lynx

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

the Cold Dark