Subject: Re: bug#58721: 28.2; dired with delete-by-moving-to-trash can't trash directory twice

From: Eli Zaretskii <[email-masked]>
Date: Sat, 29 Oct 2022 19:56:35 +0300

> From: Mike Kupfer <[email-masked]>
> cc: [email-masked], [email-masked]
> Date: Sat, 29 Oct 2022 09:32:52 -0700
> 
> So... (rename-file "a" "/tmp/newa" t) gives the original error.
> 
> (rename-file "a" "/tmp/newa/" t) gives us /tmp/newa/a/b.
> 
> What we want is /tmp/newa/b.
> 
> I can think of 2 ways forward.  One is to add an optional argument to
> rename-file to get the desired behavior, like the copy-contents argument
> to copy-directory.
> 
> The other is for move-file-to-trash to call rename-file on the top-level
> contents of the directory that is being trashed ("a/b" in my simple test
> case), rather than on the directory itself.
> 
> I think the first approach is preferable, in that it parallels the
> definition of copy-directory.  But either should work.

Yet another possibility is to refrain from calling rename-file when
the moved file is a directory, and instead to do what rename-file
does, with a twist, "by hand".  That is what I actually prefer, as
nothing is really wrong with rename-file.