[Turn on line numbering]arg opt; var reg, out; out = []; opt = strsed(opt, "^ *", ""); while (opt) { if ((reg = regexp(opt, "^[\+-]([^= ]*)=([^ ]+) *(.*)"))) { opt = reg[3]; out += delete(reg, 3); } else if ((reg = regexp(opt, "^[\+-]([^ ]+) *(.*)"))) { opt = reg[2]; out += [reg[1]]; } else { throw(~invopt, "Option templates must begin with '+' or '-'"); } opt = strsed(opt, "^ *", ""); } return out;
// Created 27-Mar-1995 as a part of ColdCore, see: @help Credit