On 10/08/16 15:21, Peter Ludikovsky wrote:
> Package: coreutils
> Version: 8.23-4
> Severity: normal
> 
> Dear Maintainer,
> 
> This came up due to a posting on debian-user-german [1]. Apparently
> certain Unicode characters, at least LEFT-TO-RIGHT EMBEDDING [2] and
> RIGHT-TO-LEFT EMBEDDING [3] do not trigger the escape code display for
> ls with the -b option.
> 
> An example script is attached, output:
> 
>     $ bash unicode_bidir_test.sh 
>     + touch LTR
>     + touch RTL
>     + /bin/ls -l
>     total 4
>     -rw-r--r--. 1 peter peter   0 Aug 10 14:00 LTR
>     -rw-r--r--. 1 peter peter   0 Aug 10 14:00 RTL
>     -rw-r--r--. 1 peter peter 148 Aug 10 14:00 unicode_bidir_test.sh
>     + /bin/ls -lb
>     total 4
>     -rw-r--r--. 1 peter peter   0 Aug 10 14:00 LTR
>     -rw-r--r--. 1 peter peter   0 Aug 10 14:00 RTL
>     -rw-r--r--. 1 peter peter 148 Aug 10 14:00 unicode_bidir_test.sh
>     + /bin/ls -lb LTR
>     /bin/ls: cannot access LTR: No such file or directory
>     + /bin/ls -lb LTR
>     -rw-r--r--. 1 peter peter 0 Aug 10 14:00 LTR
>     + /bin/ls -lb RTL
>     /bin/ls: cannot access RTL: No such file or directory
>     + /bin/ls -lb RTL
>     -rw-r--r--. 1 peter peter 0 Aug 10 14:00 RTL
> 
> The expected output would be that those characters be shown, as they are
> relevant when accessing a file on the command line.
> 
> [1] https://lists.debian.org/debian-user-german/2016/08/msg00049.html
> [2] http://www.fileformat.info/info/unicode/char/202a/index.htm
> [3] http://www.fileformat.info/info/unicode/char/202b/index.htm
> 
> -- System Information:
> Debian Release: 8.5
>   APT prefers stable-updates
>   APT policy: (500, 'stable-updates'), (500, 'stable')
> Architecture: amd64 (x86_64)
> 
> Kernel: Linux 3.16.0-4-amd64 (SMP w/1 CPU core)
> Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968)
> Shell: /bin/sh linked to /bin/dash
> Init: systemd (via /run/systemd/system)
> 
> Versions of packages coreutils depends on:
> ii  libacl1      2.2.52-2
> ii  libattr1     1:2.4.47-2
> ii  libc6        2.19-18+deb8u4
> ii  libselinux1  2.3-2
> 
> coreutils recommends no packages.
> 
> coreutils suggests no packages.
> 
> -- no debconf information

Is your locale really "C" ?
With mine set to "C" I get:

$ LANG=C ls -l
-rw-rw-r--. 1 padraig padraig 0 Aug 10 15:43 ???LTR
-rw-rw-r--. 1 padraig padraig 0 Aug 10 15:43 ???RTL

$ LANG=C ls -lb
-rw-rw-r--. 1 padraig padraig 0 Aug 10 15:43 \342\200\252LTR
-rw-rw-r--. 1 padraig padraig 0 Aug 10 15:43 \342\200\253RTL


With the new quoting in version 8.25 you'll get a directly
copy and pasteable representation like:

$ LANG=C ~/git/coreutils/src/ls -l
-rw-rw-r--. 1 padraig padraig 0 Aug 10 15:43 ''$'\342\200\252''LTR'
-rw-rw-r--. 1 padraig padraig 0 Aug 10 15:43 ''$'\342\200\253''RTL'


I'll need to experiment a bit with non "C" locale handling,
and with various terminals, to see how best to handle this case.

thanks,
Pádraig

Reply via email to