11.1.1.2Sglass# @(#)README 8.1 (Berkeley) 6/6/93 21.1Scgd 31.1Scgdcol - filter out reverse line feeds. 41.1Scgd 51.1ScgdOptions are: 61.1Scgd -b do not print any backspaces (last character written is printed) 71.1Scgd -f allow half line feeds in output, by default characters between 81.1Scgd lines are pushed to the line below 91.1Scgd -x do not compress spaces into tabs. 101.1Scgd -l num keep (at least) num lines in memory, 128 are kept by default 111.1Scgd 121.1ScgdIn the 32V source code to col(1) the default behavior was to NOT compress 131.1Scgdspaces into tabs. There was a -h option which caused it to compress spaces 141.1Scgdinto tabs. There was no -x flag. 151.1Scgd 161.1ScgdThe 32V documentation, however, was consistent with the SVID (actually, V7 171.1Scgdat the time) and documented a -x flag (as defined above) while making no 181.1Scgdmention of a -h flag. Just before 4.3BSD went out, CSRG updated the manual 191.1Scgdpage to reflect the way the code worked. Suspecting that this was probably 201.1Scgdthe wrong way to go, this version adopts the SVID defaults, and no longer 211.1Scgddocuments the -h option. 221.1Scgd 231.1ScgdThe S5 -p flag is not supported because it isn't clear what it does (looks 241.1Scgdlike a kludge introduced for a particular printer). 251.1Scgd 261.1ScgdKnown differences between AT&T's col and this one (# is delimiter): 271.1Scgd Input AT&T col this col 281.1Scgd #\nabc\E7def\n# # def\nabc\r# # def\nabc\n# 291.1Scgd #a# ## #a\n# 301.1Scgd - last line always ends with at least one \n (or \E9) 311.1Scgd #1234567 8\n# #1234567\t8\n# #1234567 8\n# 321.1Scgd - single space not expanded to tab 331.1Scgd -f #a\E8b\n# #ab\n# # b\E9\ra\n# 341.1Scgd - can back up past first line (as far as you want) so you 351.1Scgd *can* have a super script on the first line 361.1Scgd #\E9_\ba\E8\nb\n# #\n_\bb\ba\n# #\n_\ba\bb\n# 371.1Scgd - always print last character written to a position, 381.1Scgd AT&T col claims to do this but doesn't. 391.1Scgd 401.1ScgdIf a character is to be placed on a line that has been flushed, a warning 411.1Scgdis produced (the AT&T col is silent). The -l flag (not in AT&T col) can 421.1Scgdbe used to increase the number of lines buffered to avoid the problem. 431.1Scgd 441.1ScgdGeneral algorithm: a limited number of lines are buffered in a linked 451.1Scgdlist. When a printable character is read, it is put in the buffer of 461.1Scgdthe current line along with the column it's supposed to be in. When 471.1Scgda line is flushed, the characters in the line are sorted according to 481.1Scgdcolumn and then printed. 49