Subject: bug#24184: 25.0.94; dired-copy-filename-as-kill does not quote or properly separate file names

From: Juri Linkov <[email-masked]>
Date: Mon, 16 Apr 2018 23:40:39 +0300

>> $ touch "this file" "that file"
>> $ emacs -Q
>> C-x C-f RET m m w
>>
>> gives
>>
>> that file this file
>>
>> but should give something like
>>
>> "that file" "this file"
>>
>> or
>>
>> that file
>> this file
>>
>> to be much more useful. The former looks cleanest, because then the
>> content can be yanked as elisp list, but would of course require that
>> not only filenames are quoted, but that also " be quoted inside file
>> names.
>
> Hm...  I guess that depends on what the purpose of the copy-as-kill is.
> In the single file case, we probably don't want to quote "this file"
> because then we can't use that to yank it into the file prompt, for
> instance.
>
> But in the several-file case, we can't use it for that anyway, and then
> quoting these file names is probably better than not.

I think filenames should be quoted only when really necessary.  IOW,
only if (not (equal (shell-quote-argument "this file") "this file"))
but not when (equal (shell-quote-argument "this-file") "this-file").