Created attachment 202276 [details]
column(1) documentation fix
The documentation for column(1) says that 'Rows are filled before columns' and that the -x option 'Fill[s] columns before filling rows'. The language dates back to at least 4.4BSD, and it matches the names of the functions responsible for the corresponding output modes in the source code. However, i don't think that most people would interpret that wording the way the original developers apparently did:
% printf '%s\n' aaa bbb ccc ddd eee | column -c24
aaa ccc eee
% printf '%s\n' aaa bbb ccc ddd eee | column -xc24
aaa bbb ccc
To me, the default behaviour is clearly filling the columns first, whilst the -x behaviour is filling the rows first.
The developers of the util-linux and OpenBSD implementations of column(1) evidently agree, since their man pages now state that the default behaviour is to fill columns first.
I've attached a patch that changes the man page to bring it in line with util-linux and OpenBSD.
When util-linux fixed their documentation, they also updated the source code to match. OpenBSD did not, maybe because simply swapping the function names would make it very confusing to compare the source to other/historical BSDs. I've gone the OpenBSD route here, but i did add a comment about it.
PS: Sorry if i've misunderstood anything; this is my first time submitting a bug/patch to FreeBSD directly.
Created attachment 202277 [details]
column(1) source comment