I think I get an acceptable solution. thank you all!
We may close this issue now.
At 2020-10-05 17:51:00, "Eli Zaretskii" <eliz@gnu.org> wrote:
>> From: Michael Albinus <michael.albinus@gmx.de>
>> Date: Mon, 05 Oct 2020 11:30:50 +0200
>> Cc: 43789@debbugs.gnu.org
>>
>> "Zhu Zihao" <all_but_last@163.com> writes:
>>
>> > Step to reproduce:
>> >
>> > 1. Use touch from coreutils or find-file in Emacs to create a file
>> > which name contains a linebreak. (e.g. "line\nbreak")
>> > 2. Visit it in dired, you cannot do anything with this file because
>> > the characters after "\n" was ignored by dired.
>>
>> I recommend to avoid file names containing line breaks. Tramp, for
>> example, cannot handle them at all.
>
>Cannot agree more. And I think we shouldn't tweak our implementation
>too much for such use cases, given that there's an easy workaround.