Subject: bug#22477: 24.5; Dired does not work if file names contain newlines

From: Aura Kelloniemi <[email-masked]>
Date: Tue, 16 Feb 2016 18:47:49 +0200

Lars Ingebrigtsen <[email-masked]> writes:

 > Glenn Morris <[email-masked]> writes:

 > > Aura Kelloniemi wrote:
 > >
 > >> 1. Create a file which contains a newline character in its name.
 > >
 > > If you like to do weird things like that, adding "-b" to
 > > dired-listing-switches helps.

 > The reason characters like that are problematic is because we're using
 > "ls" and then parsing the output, I guess?  Is there any particular
 > reason dired is still doing that?  Is the ls-lisp.el implementation
 > noticeably slower still?

According to the Emacs manual, ls-lisp is lacking some features that the ls
binary generally has.

What comes to special characters, ls supports many quoting styles, which Emacs
could implement (at least GNU ls supports them).

But the most portable, secure and configurable solution would be to enhance
(or rewrite) ls-lisp. It could support additional features which cannot be
very well implemented when using read ls, like allowing the user to control
the format of printed directory entries (I personally would like the file
permissions and other attributes to be shown on the right edge of the window
and the file name on the left, not the other way around as with 'ls -l').

-- 
Aura