Subject: bug#62096: 30.0.50; find-dired, dired-goto-file and spaces

From: Po Lu <[email-masked]>
Date: Sun, 12 Mar 2023 18:55:41 +0800

Daniel Martín <[email-masked]> writes:

> Manuel Giraud via "Bug reports for GNU Emacs, the Swiss army knife of
> text editors" <[email-masked]> writes:
>
>> Ok, so commenting the string-replace at dired.el:3529 in
>> 'dired-goto-file-1' (ie. not replacing " " with "\\ ") does the trick
>> for me...
>>
>> That being said those are here for a reason.  It might be a difference
>> between OpenBSD's find and the GNU one (I don't know for Windows).
>
> This bug also affects macOS.  After reading the code I'd say that, even
> on GNU/Linux, there are probably other corner cases where
> dired-goto-file would fail:
>
> ;; FIXME: to fix this for embedded control characters etc, we
> ;; should escape everything that `ls -b' does.
> (setq str (string-replace " " "\\ "  str)
>       str (string-replace "\t" "\\t" str)
>       str (string-replace "\n" "\\n" str))
>
> For example, on GNU/Linux, ls -b outputs:
>
> vacation\ 2022
>
> while on macOS it outputs:
>
> vacation 2022

`ls --dired -l'  outputs a huge swath of numbers and options for Dired
detailing, among other information, the quoting style being used.