Subject: bug#25388: Bug in ls, kills existing scripts reading "ls" -1 as input

From: Eric Blake <[email-masked]>
Date: Mon, 9 Jan 2017 15:53:20 -0600

On 01/09/2017 03:23 PM, L A Walsh wrote:
> 
> 
> Eric Blake wrote:
>> On 01/09/2017 01:53 PM, L A Walsh wrote:
>>>> And POSIX merely codified existing practice (this is nothing new - it
>>>> has been this way since the 70's)
>>> ---
>>>     Not anymore.
>>>
>>>     Breaking "rm -fr ." wasn't an existing practice except
>>> at BSD-using dists (like BSD & SunOS).  While Solaris was SysV, since it
>>> was bought up, it has changed.
>>
>> Please quit trying to change the topic.
> ---
> You said that posix codified existing practice and that it has been
> this way since the 70's.  This is not true.

You're quoting me out of context.

When coupled with the sentences prior to what got quoted in this email,
I was trying to emphasize only that that POSIX codified the existing
practice of ls outputting different data to a tty than to a non-tty, and
that the behavior of different ls output to a tty has been around since
the 70s, which explains why POSIX codified that particular aspect of ls
as standard-conforming behavior.

By eliding the context, you are then attempting to broaden my statement
into me making a blanket claim that POSIX can only ever codify existing
practice (which may are may not be the case, but it was not the point I
was trying to make), by twisting my claim into something unrelated to ls
and dragging rm into the mix.

> 
> You are making overly broad statements, or, more likely, using
> indeterminant pronouns.

That was not my intent.  Email is a lousy medium for communications.

Here's the full context, for reference:

>>>
>>> Sure it is. 'ls' has done that since then 1980s. 'ls' shows
>>> multicolumn output when the output is a tty, and single-column output
>>> when piped into a pager.
>> ----
>> That would be really annoying if it were true.  It doesn't do that
>> on any of my *nix terms.  When I put it through a pager I want it to page
>> the output I just saw.  That's what it's for.
>
> But that's EXACTLY what POSIX has specified, because it has been
> existing practice for YEARS.

So in my sentence, as originally written, the pronoun of "that's
EXACTLY" is referring only to the earlier wording "'ls' has done that
since then 1980s", and not a sweeping generalization to all of POSIX.

And in my other sentence:

>>>> And POSIX merely codified existing practice (this is nothing new - it
>>>> has been this way since the 70's)

the "it" is referring, again, to the behavior of 'ls' outputting
something different for ttys.  That is, read it as "(this is nothing new
- ls having different tty output has been this way since the 70's)", and
NOT as "(this is nothing new - POSIX has been codifying existing
practice in this way since the 70's)" - particularly since POSIX did not
exist in the 70's and therefore could not have been codifying existing
practice for a duration of time that long.

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