"man kbin" #ル and not #Ι in the synopsis. this is because only 1 byte of the rune was put into the line due to an unhappy accident using Bputrune on a char, this appeared to work some of the time. Reference: /n/sources/patch/applied/colutf Date: Sun Mar 9 18:46:16 CET 2008 Signed-off-by: quanstro@quanstro.net --- /sys/src/cmd/col.c Sun Mar 9 18:35:45 2008 +++ /sys/src/cmd/col.c Sun Mar 9 18:35:44 2008 @@ -177,7 +177,7 @@ while (*line == '\b') line += 2; if (bflag || *line == '\0' || *line == ' ') - *line = c; + cp += runetochar(line, &c)-1; else { char c1, c2, c3; @@ -232,17 +232,17 @@ if (*s) { while (cline < lineno - 1) { - Bputrune(&bout, '\n'); + Bputc(&bout, '\n'); pcp = 0; cline += 2; } if (cline != lineno) { - Bputrune(&bout, ESC); - Bputrune(&bout, '9'); + Bputc(&bout, ESC); + Bputc(&bout, '9'); cline++; } if (pcp) - Bputrune(&bout, '\r'); + Bputc(&bout, '\r'); pcp = 0; p = s; while (*p) { @@ -250,15 +250,15 @@ while (*p++ == ' ') if ((++ncp & 7) == 0 && !xflag) { pcp = ncp; - Bputrune(&bout, '\t'); + Bputc(&bout, '\t'); } if (!*--p) break; while (pcp < ncp) { - Bputrune(&bout, ' '); + Bputc(&bout, ' '); pcp++; } - Bputrune(&bout, *p); + Bputc(&bout, *p); if (*p++ == '\b') pcp--; else