summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorBernhard Voelker <mail@bernhard-voelker.de>2015-02-20 08:10:51 +0100
committerBernhard Voelker <mail@bernhard-voelker.de>2015-02-20 14:00:41 +0100
commit7ceaf1d975a17d07f1704d8edf4476218148cfba (patch)
tree81aa51f01ff422b9a7224372c27236a63eb26b40 /doc
parent3f2f05f06763d79a7cab525a3ea2d726df3e3736 (diff)
downloadcoreutils-7ceaf1d975a17d07f1704d8edf4476218148cfba.tar.xz
tee: treat '-' operand as file name as mandated by POSIX
Since v5.2.1-1247-g8dafbe5, tee(1) treated '-' as stdout while POSIX explicitly requires to treat this as a file name. Revert this change, as the interleaved output - due to sending another copy of input to stdout - is not considered to be useful. Discussed in http://lists.gnu.org/archive/html/coreutils/2015-02/msg00085.html * src/tee.c (tee_files): Remove the special handling for "-" operands. (usage): Remove the corresponding sentence. * doc/coreutils.texi (common options): Remove the "tee -" example. (tee invocation): Document that tee(1) now treats "-" as a file name. * tests/misc/tee.sh: Add a test case for "tee -". While at it, re-indent the above multi-argument processing case and extend that to 13 operands, as POSIX mandates that, too. * tests/misc/tee-dash.sh: Remove now-obsolete test. * tests/local.mk (all_tests): Remove the above test. * NEWS (Changes in behavior): Mention the change.
Diffstat (limited to 'doc')
-rw-r--r--doc/coreutils.texi17
1 files changed, 9 insertions, 8 deletions
diff --git a/doc/coreutils.texi b/doc/coreutils.texi
index bb652aca5..8d050c2e8 100644
--- a/doc/coreutils.texi
+++ b/doc/coreutils.texi
@@ -752,11 +752,10 @@ operands even if they begin with @samp{-}. For example, @samp{sort --
@cindex standard input
@cindex standard output
A single @samp{-} operand is not really an option, though it looks like one. It
-stands for standard input, or for standard output if that is clear from
-the context. For example, @samp{sort -} reads from standard input,
-and is equivalent to plain @samp{sort}, and @samp{tee -} writes an
-extra copy of its input to standard output. Unless otherwise
-specified, @samp{-} can appear as any operand that requires a file
+stands for a file operand, and some tools treat it as standard input, or as
+standard output if that is clear from the context. For example, @samp{sort -}
+reads from standard input, and is equivalent to plain @samp{sort}. Unless
+otherwise specified, a @samp{-} can appear as any operand that requires a file
name.
@menu
@@ -13180,9 +13179,11 @@ If a file being written to does not already exist, it is created. If a
file being written to already exists, the data it previously contained
is overwritten unless the @option{-a} option is used.
-A @var{file} of @samp{-} causes @command{tee} to send another copy of
-input to standard output, but this is typically not that useful as the
-copies are interleaved.
+In previous versions of GNU coreutils (v5.3.0 - v8.23), a @var{file} of @samp{-}
+caused @command{tee} to send another copy of input to standard output.
+However, as the interleaved output was not very useful, @command{tee} now
+conforms to POSIX which explicitly mandates it to treat @samp{-} as a file
+with such name.
The program accepts the following options. Also see @ref{Common options}.