summaryrefslogtreecommitdiffstats
path: root/Documentation/col.txt
diff options
context:
space:
mode:
authorSami Kerola2011-08-12 20:19:52 +0200
committerSami Kerola2011-08-12 20:19:52 +0200
commitf98d4f766e39efd255c9b70d3780feea9c7a7898 (patch)
tree7eef63942216eb29ef1cb1532305ee45e6a67f42 /Documentation/col.txt
parentdocs: remove README.clear (diff)
downloadkernel-qcow2-util-linux-f98d4f766e39efd255c9b70d3780feea9c7a7898.tar.gz
kernel-qcow2-util-linux-f98d4f766e39efd255c9b70d3780feea9c7a7898.tar.xz
kernel-qcow2-util-linux-f98d4f766e39efd255c9b70d3780feea9c7a7898.zip
docs: Documentation directory added
Move readme, licence, change log, relese notes and other supplementary files to a Documentation directory. This commit does not change contents of any other but few Makefile.am files. Signed-off-by: Sami Kerola <kerolasa@iki.fi>
Diffstat (limited to 'Documentation/col.txt')
-rw-r--r--Documentation/col.txt48
1 files changed, 48 insertions, 0 deletions
diff --git a/Documentation/col.txt b/Documentation/col.txt
new file mode 100644
index 000000000..2a7dd6ca4
--- /dev/null
+++ b/Documentation/col.txt
@@ -0,0 +1,48 @@
+# @(#)README 5.1 (Berkeley) 5/22/90
+
+col - filter out reverse line feeds.
+
+Options are:
+ -b do not print any backspaces (last character written is printed)
+ -f allow half line feeds in output, by default characters between
+ lines are pushed to the line below
+ -x do not compress spaces into tabs.
+ -l num keep (at least) num lines in memory, 128 are kept by default
+
+In the 32V source code to col(1) the default behavior was to NOT compress
+spaces into tabs. There was a -h option which caused it to compress spaces
+into tabs. There was no -x flag.
+
+The 32V documentation, however, was consistent with the SVID (actually, V7
+at the time) and documented a -x flag (as defined above) while making no
+mention of a -h flag. Just before 4.3BSD went out, CSRG updated the manual
+page to reflect the way the code worked. Suspecting that this was probably
+the wrong way to go, this version adopts the SVID defaults, and no longer
+documents the -h option.
+
+The S5 -p flag is not supported because it isn't clear what it does (looks
+like a kludge introduced for a particular printer).
+
+Known differences between AT&T's col and this one (# is delimiter):
+ Input AT&T col this col
+ #\nabc\E7def\n# # def\nabc\r# # def\nabc\n#
+ #a# ## #a\n#
+ - last line always ends with at least one \n (or \E9)
+ #1234567 8\n# #1234567\t8\n# #1234567 8\n#
+ - single space not expanded to tab
+ -f #a\E8b\n# #ab\n# # b\E9\ra\n#
+ - can back up past first line (as far as you want) so you
+ *can* have a super script on the first line
+ #\E9_\ba\E8\nb\n# #\n_\bb\ba\n# #\n_\ba\bb\n#
+ - always print last character written to a position,
+ AT&T col claims to do this but doesn't.
+
+If a character is to be placed on a line that has been flushed, a warning
+is produced (the AT&T col is silent). The -l flag (not in AT&T col) can
+be used to increase the number of lines buffered to avoid the problem.
+
+General algorithm: a limited number of lines are buffered in a linked
+list. When a printable character is read, it is put in the buffer of
+the current line along with the column it's supposed to be in. When
+a line is flushed, the characters in the line are sorted according to
+column and then printed.