[Turn on line numbering]arg buf; var i, sub, out; // break a buffer by or but keep its sub contents as buffers out = []; while ((i = 10 in buf)) { sub = subbuf(buf, 1, i - 1); buf = subbuf(buf, i + 1); while ((i = 13 in sub)) { if (buflen(sub) == i) sub = subbuf(sub, 1, i - 1); else sub = subbuf(sub, 1, i - 1) + subbuf(sub, i + 1); } out += [sub]; } if (buf) { while ((i = 13 in buf)) { if (buflen(buf) == i) buf = subbuf(buf, 1, i - 1); else buf = subbuf(buf, 1, i - 1) + subbuf(buf, i + 1); } if (buf) out += [buf]; } return out;
// Created 27-Mar-1995 as a part of ColdCore, see: @help Credit