Subject: Re: bug#36085: 26.2; find-dired octal escapes instead of Cyrillic text

From: Eli Zaretskii <[email-masked]>
Date: Sun, 09 Jun 2019 13:57:37 +0300

> From: Mattias Engdegård <[email-masked]>
> Date: Sun, 9 Jun 2019 11:08:51 +0200
> Cc: [email-masked], [email-masked]
> 
> > Here's an idea for making this command work with non-ASCII file names:
> > do NOT add "-ls" to the 'find' command line, then in the process
> > filter function call file-attributes on each file name we receive from
> > 'find', and format the result according to Dired convention before
> > inserting it into the buffer.
> 
> Maybe we can trust -print0 to work everywhere (BSD find has it).

That's orthogonal, isn't it?  It is only needed to make sure we don't
get confused by file names with embedded newlines, AFAIU.

> It's probably a quaint notion, but I wish Emacs were be able to do without the help of external programs for something as basic as listing directories.

We have such capabilities, see directory-files-and-attributes and
directory-files-recursively.  We also have find-lisp.el.  I just
assumed these alternatives will be significantly slower, but maybe
that's not the case?

One other consideration is that for large directory trees the current
implementation of find-dired updates the buffer in parallel with
'find' still running, whereas the alternatives will not return until
the whole listing has been generated, which might take a long time.
But maybe we could run the Lisp implementation in a separate thread,
and get the same effect?