Subject: tramp: ls parse failure and locale

From: Raphaël <[email-masked]>
Date: Mon, 14 Mar 2016 13:05:07 -0300

Hi,

I found myself unable to edit a file using tramp on a given server.

After comparing with another server where it works I found the following:

> server where tramp works
> -rw-r--r-- 1 raf raf 675 nov.  13  2014 /home/raf/.profile
> server where tramp fails
> -rw-r--r-- 1 raf raf 675 Nov 13  2014 /home/raf/.profile

And then found that env (in a non-interactive ssh session) was
> LANG=fr_FR.UTF-8 # where it works
> LANG=en_US.UTF-8 # where it fails
(I didn't tried to understand how tramp could fail on the english string
parse the non-english output while failing at the apparently common one.

I could track down the difference to Debian's update-locale &
/etc/default/locale (it's another story).

My point is that  in order to make tramp more robust it should rather
set environment variables LANG/LC_* to neutral values for to maximize
chances of getting a predictable output (even if we still parse `ls` in 2016), 

thank you
(please keep me in CC:)

Reference:
http://git.savannah.gnu.org/cgit/emacs.git/tree/lisp/net/tramp-sh.el#n1281