From: Mike Kupfer <mkupfer@alum.berkeley.edu>
To: Eli Zaretskii <eliz@gnu.org>
Cc: 58721@debbugs.gnu.org, gusbrs.2016@gmail.com
Subject: bug#58721: 28.2; dired with delete-by-moving-to-trash can't trash directory twice
Date: Sat, 29 Oct 2022 09:32:52 -0700 [thread overview]
Message-ID: <11379.1667061172@alto> (raw)
In-Reply-To: Your message of "Sat, 29 Oct 2022 18:48:35 +0300." <83mt9ehbqk.fsf@gnu.org>
Eli Zaretskii wrote:
> > From: Mike Kupfer <mkupfer@alum.berkeley.edu>
> > Date: Sat, 29 Oct 2022 08:24:53 -0700
> >
> > I played with this some more this morning, this time on Emacs 29. It
> > looks like rename-file should have called copy-directory as
> >
> > copy-directory("/tmp/emacs-git"
> > "/home/kupfer/.local/share/Trash/files/emacs-gitH0lx1e/" t nil t)
>
> I don't think we can change how rename-file behaves when the argument
> is a directory. Any changes we need to make must be in
> move-file-to-trash, not in primitives it calls.
Yes, that makes sense.
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.
mike
next prev parent reply other threads:[~2022-10-29 16:32 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-10-22 18:23 bug#58721: 28.2; dired with delete-by-moving-to-trash can't trash directory twice Gustavo Barros
2022-10-27 16:09 ` Eli Zaretskii
2022-10-27 17:07 ` Gustavo Barros
2022-10-27 17:22 ` Gustavo Barros
2022-10-27 17:30 ` Eli Zaretskii
2022-10-27 17:51 ` Gustavo Barros
2022-10-27 18:20 ` Eli Zaretskii
2022-10-27 18:41 ` Gustavo Barros
2022-10-27 19:04 ` Eli Zaretskii
2022-10-27 19:13 ` Gustavo Barros
2022-10-27 22:01 ` Gustavo Barros
2022-10-28 7:46 ` Eli Zaretskii
2022-10-28 10:43 ` Gustavo Barros
2022-10-28 11:44 ` Eli Zaretskii
2022-10-28 12:35 ` Gustavo Barros
2022-10-28 15:26 ` Stefan Kangas
2022-10-28 16:06 ` Gustavo Barros
2022-10-28 19:07 ` Gustavo Barros
2022-10-29 5:25 ` Mike Kupfer
2022-10-29 10:35 ` Gustavo Barros
2022-10-29 15:24 ` Mike Kupfer
2022-10-29 15:48 ` Eli Zaretskii
2022-10-29 16:32 ` Mike Kupfer [this message]
2022-10-29 16:56 ` Eli Zaretskii
2022-10-30 0:09 ` Mike Kupfer
2022-10-30 6:41 ` Eli Zaretskii
2022-10-30 17:40 ` Mike Kupfer
2022-10-30 18:02 ` Eli Zaretskii
2022-10-30 18:18 ` Mike Kupfer
2022-10-30 19:51 ` Eli Zaretskii
2022-10-30 22:20 ` Mike Kupfer
2022-10-30 23:10 ` Gustavo Barros
2022-10-31 0:01 ` Mike Kupfer
2022-10-31 0:23 ` Gustavo Barros
2022-10-31 12:49 ` Eli Zaretskii
2022-10-31 13:16 ` Gustavo Barros
2022-11-21 1:08 ` Mike Kupfer
2022-11-21 1:45 ` Gustavo Barros
2022-11-21 1:52 ` Mike Kupfer
2022-11-24 11:19 ` Eli Zaretskii
2022-11-24 11:28 ` Gustavo Barros
2022-10-27 19:07 ` Gustavo Barros
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=11379.1667061172@alto \
--to=mkupfer@alum.berkeley.edu \
--cc=58721@debbugs.gnu.org \
--cc=eliz@gnu.org \
--cc=gusbrs.2016@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.