[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"]