Subject: bug#23737: closed (Re: bug#23737: wrong rm -i prompt)

From: [email-masked] (GNU bug Tracking System)
Date: Thu, 09 Jun 2016 19:16:03 +0000

Your bug report

#23737: wrong rm -i prompt

which was filed against the coreutils package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
23737: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=23737
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#23737: wrong rm -i prompt
From: Eric Blake <[email-masked]>
To: "Lemke, Michael ST/HZA-ZIC2" <[email-masked]>, [email-masked]
Date: Thu, 9 Jun 2016 13:15:24 -0600
List-Id: <debbugs-submit.debbugs.gnu.org>

tag 23737 notabug
thanks

On 06/09/2016 11:11 AM, Lemke, Michael  ST/HZA-ZIC2 wrote:
> With coreutils 8.25 on Cygwin I get this;
> 
> P01104393> rm -i a\    b
> rm: remove regular empty file 'a'$'\t''b'?
> 
> What is this?  The filename is 'a	b' and not the nonsense rm outputs.
> There is a tab character between a and b.

Yes, and the string 'a'$'\t''b' is one way (of many) to write that
literal string escaped in such a way that you can copy and paste it back
into the shell to refer to the same file (assuming you have a shell new
enough to support $'' quoting).

This was an intentional behavior change in 8.25, hinted at in the NEWS file:

  ls now quotes file names unambiguously and appropriate for use in a shell,
  when outputting to a terminal.
...
  All utilities now quote user supplied arguments in error strings,
  which avoids confusing error messages in the presence of '\r' chars etc.

although there has been discussion on this list about tweaking the
heuristics to possibly get nicer looking quoting while still being
unambiguous.

If you don't like the default, you can set QUOTING_STYLE in your
environment to go with a different quoting style.

> 
> P01104393> rm --version
> rm (GNU coreutils) 8.25
> Packaged by Cygwin (8.25-3)

And since you are using Cygwin, you should also be reading the cygwin
release announcements prior to blindly upgrading, where it was
explicitly mentioned that this upstream behavior change was intentional
and not a bug:
https://cygwin.com/ml/cygwin-announce/2016-04/msg00024.html

As such, I'm closing this in the coreutils bug database.

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

Subject: wrong rm -i prompt
From: "Lemke, Michael ST/HZA-ZIC2" <[email-masked]>
To: "[email-masked]" <[email-masked]>
Date: Thu, 9 Jun 2016 17:11:03 +0000
List-Id: <debbugs-submit.debbugs.gnu.org>

With coreutils 8.25 on Cygwin I get this;

P01104393> rm -i a\    b
rm: remove regular empty file 'a'$'\t''b'?

What is this?  The filename is 'a	b' and not the nonsense rm outputs.
There is a tab character between a and b.

P01104393> rm --version
rm (GNU coreutils) 8.25
Packaged by Cygwin (8.25-3)
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by Paul Rubin, David MacKenzie, Richard M. Stallman,
and Jim Meyering.