static void print_setPrefixForThread(fS prefix) { interceptPrintInThisThread(empty(prefix) ? null : new F1() { bool beginningOfLine = true; Bool get(S s) { if (empty(s)) false; if (beginningOfLine) print_raw(prefix); bool nl = s.endsWith("\n"); if (nl) s = dropLast(s); s = s.replace("\n", "\n" + prefix); print_raw(s); if (nl) print_raw("\n"); beginningOfLine = nl; false; } }); }