I gave a look at col.c and found a better fix for the tabs issue.

We simply need that col check for the previous char being a space, before adding any tab. That is, at /sys/src/cmd/col.c:251 replace

if ((++ncp & 7) == 0 && !xflag) {

with

if ((++ncp & 7) == 0 && !xflag && *(p-2) == ' ') { 

This is a better fix that redefining col in /rc/bin/man since this way col correctly replace spaces with tabs when appropriate. It just stops to replace single spaces at positions multiple of 8 with tabs.


Giacomo
PS: col.c ignores $tabstop. This could be something to add in the man page. Or to fix in col.c (a really trivial fix, btw)