xref: /csrg-svn/usr.bin/col/README (revision 61945)
1*61945Sbostic#	@(#)README	8.1 (Berkeley) 06/06/93
242269Sbostic
342269Sbosticcol - filter out reverse line feeds.
442269Sbostic
542269SbosticOptions are:
642269Sbostic	-b	do not print any backspaces (last character written is printed)
742269Sbostic	-f	allow half line feeds in output, by default characters between
842269Sbostic		lines are pushed to the line below
942269Sbostic	-x	do not compress spaces into tabs.
1042269Sbostic	-l num	keep (at least) num lines in memory, 128 are kept by default
1142269Sbostic
1242269SbosticIn the 32V source code to col(1) the default behavior was to NOT compress
1342269Sbosticspaces into tabs.  There was a -h option which caused it to compress spaces
1442269Sbosticinto tabs.  There was no -x flag.
1542269Sbostic
1642269SbosticThe 32V documentation, however, was consistent with the SVID (actually, V7
1742269Sbosticat the time) and documented a -x flag (as defined above) while making no
1842269Sbosticmention of a -h flag.  Just before 4.3BSD went out, CSRG updated the manual
1942269Sbosticpage to reflect the way the code worked.  Suspecting that this was probably
2042269Sbosticthe wrong way to go, this version adopts the SVID defaults, and no longer
2142269Sbosticdocuments the -h option.
2242269Sbostic
2342269SbosticThe S5 -p flag is not supported because it isn't clear what it does (looks
2442269Sbosticlike a kludge introduced for a particular printer).
2542269Sbostic
2642269SbosticKnown differences between AT&T's col and this one (# is delimiter):
2742269Sbostic	Input			AT&T col		this col
2842269Sbostic	#\nabc\E7def\n#		#   def\nabc\r#		#   def\nabc\n#
2942269Sbostic	#a#			##			#a\n#
3042269Sbostic		- last line always ends with at least one \n (or \E9)
3142269Sbostic	#1234567 8\n#		#1234567\t8\n#		#1234567 8\n#
3242269Sbostic		- single space not expanded to tab
3342269Sbostic     -f #a\E8b\n#		#ab\n#			# b\E9\ra\n#
3442269Sbostic		- can back up past first line (as far as you want) so you
3542269Sbostic		  *can* have a super script on the first line
3642269Sbostic	#\E9_\ba\E8\nb\n#	#\n_\bb\ba\n#		#\n_\ba\bb\n#
3742269Sbostic		- always print last character written to a position,
3842269Sbostic		  AT&T col claims to do this but doesn't.
3942269Sbostic
4042269SbosticIf a character is to be placed on a line that has been flushed, a warning
4142269Sbosticis produced (the AT&T col is silent).   The -l flag (not in AT&T col) can
4242269Sbosticbe used to increase the number of lines buffered to avoid the problem.
4342269Sbostic
4442269SbosticGeneral algorithm: a limited number of lines are buffered in a linked
4542269Sbosticlist.  When a printable character is read, it is put in the buffer of
4642269Sbosticthe current line along with the column it's supposed to be in.  When
4742269Sbostica line is flushed, the characters in the line are sorted according to
4842269Sbosticcolumn and then printed.
49