Subject: bug#21065: Small bug in touch

From: Eric Blake <[email-masked]>
Date: Wed, 15 Jul 2015 10:45:21 -0600

On 07/15/2015 10:36 AM, Eric Blake wrote:
> [resending without a signature - I didn't see my reply land at
> http://debbugs.gnu.org/21065, so I wonder if the list filters are
> accidentally eating GPG-signed mail again]

Maybe I should have been more patient. Just after sending, I got all my
messages, and now see them on the web page; on the other hand, the web
page shows mails out of order:
http://debbugs.gnu.org/cgi/bugreport.cgi?bug=21065#21 was sent later
than  http://debbugs.gnu.org/cgi/bugreport.cgi?bug=21065#24

No idea where the delays are occurring, or if it is worth worrying
about, or even if sending a message without a signature forced a flush
of some pending queue.

> Here's what POSIX says:
> 
> http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap12.html
> 
> Guideline 13:
>     For utilities that use operands to represent files to be opened for
> either reading or writing, the '-' operand should be used to mean only
> standard input (or standard output when it is clear from context that an
> output file is being specified) or a file named -.

But to add one more piece of information, POSIX also says:

Where a utility described in the Shell and Utilities volume of
POSIX.1-2008 as conforming to these guidelines is required to accept, or
not to accept, the operand '-' to mean standard input or output, this
usage is explained in the OPERANDS section. Otherwise, if such a utility
uses operands to represent files, it is implementation-defined whether
the operand '-' stands for standard input (or standard output), or for a
file named -.

and our change to 'tee' for 8.24 is correct, because 'tee' explicitly
documented that '-' shall not mean stdout; whereas for 'touch', POSIX is
silent (and it is therefore implementation-defined) about behavior of
'touch -'.

-- 
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org