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