Switch to edit mode.
Name(s): tansi1: do = ""
2: di = `args[1] ! ANY => ""'
3: di = typeof(di) == $STR ? di | ""
4: aot = `args[2] ! ANY => 0'
5: aot = typeof(aot) == $INT ? aot | 0
6: if (length(this:delete(di)) > aot)
7: while (length(this:delete(do)) <= aot && di != "")
8: suspend(0)
9: pos = (er = match(di, this.all_regexp)) != {} ? er | {length(di) + 1, length(di)}
10: if (pos[1] == 1)
11: do = do + di[pos[1]..pos[2]]
12: di = di[pos[2] + 1..length(di)]
13: elseif (length(this:delete(do)) + (pos[1] - 1) <= aot)
14: do = do + di[1..pos[1] - 1]
15: di = di[pos[1]..length(di)]
16: else
17: do = do + di[1..x = aot - length(this:delete(do))]
18: di = ""
19: endif
20: endwhile
21: else
22: do = di
23: endif
24: return do
25: "Last modified by Dax (#789) on Tue May 3 14:03:30 2005 MDT."