Subject: Re: bug#23422: stat -c %N returns strange results for file names including <TAB>

From: Michael Albinus <[email-masked]>
Date: Mon, 02 May 2016 18:22:20 +0200

Pádraig Brady <[email-masked]> writes:

Hi,

>> I have a file called "foo<TAB>bar". Yes, it includes the <TAB> char in
>> its name. When I call "stat -c %N", I get 'foo'$'\t''bar' .
>
>> This looks pretty strange. It is with "stat (GNU coreutils) 8.25". Earlier
>> stat versions, say "stat (GNU coreutils) 6.12" on a very old machine I
>> have access too, used to return `foo\tbar' .
>
> We were thinking that since %N returns the quoted file name,
> that it would be more generally useful to return the shell quoted format,
> as that can be copied and pasted back to a shell command.
> For example it allows one to always paste back the file name from
> `stat *` which includes %N in the default output.

I'm using stat in Emacs/Tramp in order to retrieve information about
files on remote hosts. The returned string is parsed then inside Emacs.

This is broken now, and I'm really undecided whether I shall start to
parse a shell quoted output. Likely not, if you bring this functionality
back, somehow. For the time being, I'll disable use of stat in Tramp
(unfortunately too late for the upcoming Emacs 25.1).

Btw, neither in the stat man page nor in the NEWS file of coreutils I
found a hint about the changed behaviour. It would be nice to announce
such incompatible changes, somehow.

> thanks,
> Pádraig

Best regards, Michael.