I agree with what others have said that the ls output change should be reverted. I have not commented before because I am not a maintainer of any open source packages, so I suspected that my opinion would carry little weight. I agree with everything that Michael Stone said -- the change is not interoperable, the change produces ambiguous results, the change produces inconsistent results, the change is ugly and verbose. To add to that, any difference in behavior between output to a tty and output in pipes adds confusion for people who are writing short scripts, especially for people who are not programmers. The inconsistency is bad when scanning a long directory listing and some files appear out of order due to the leading quote character. https://github.com/thestinger/termite/issues/293 It is unlikely that other popular ls implementations, like busybox for example, will follow, which will create yet another inconsistency for developers who work on systems other than full Linux distributions on PCs and laptops. Also, I have to support people using applications that I have written. I have enough problems dealing with people who struggle to get to a prompt and type "ls". I can't imagine trying to explain the rules of the quoting change or getting them to type --quoting-style=c without making a mistake. Consider that I have about 1000 sites, each site has several Linux servers, some servers have hundreds of users, and about half of the sites do not allow me remote access. The shorter ls -N is a bad solution because it passes control characters, which opens a security hole. https://www.mail-archive.com/[email protected]/msg1394231.html ls -N and --quoting-style=c are not supported by every version of ls, so if you deal with more than desktop Linux, setting an alias in a login profile first requires testing the system to check what options the installed ls happens to support. http://linux.die.net/man/1/busybox This change is different from systemd because systemd affected only developers of services, while ls affects all users. In addition, with respect to systemd, various unix-like systems have had their own init subsystems, so there was never one single init subsystem, but ls has been around for at least 45 years -- since First Edition Unix in 1971. Changes to ls should not be made lightly and should have a clear benefit, like the addition of color. http://www.tldp.org/LDP/LG/issue48/fischer.html Consider that the find and xargs commands faced the same issue with printable names vs parseable names, and they went with find -print0 | xargs -0. Trying to "fix" ls rehashing a battle that was settled years ago against quoting. Regard, William
