From: Andrea Corallo <acorallo@gnu.org>
To: Eli Zaretskii <eliz@gnu.org>
Cc: Po Lu <luangruo@yahoo.com>, emacs-devel@gnu.org, esr@thyrsus.com
Subject: Re: master 10a7615b5d4: Separate filename-deletion mechanism from policy.
Date: Mon, 07 Aug 2023 11:21:39 -0400 [thread overview]
Message-ID: <yp1msz2ri7w.fsf@fencepost.gnu.org> (raw)
In-Reply-To: <83jzu8p8dh.fsf@gnu.org> (Eli Zaretskii's message of "Sun, 06 Aug 2023 17:12:42 +0300")
Eli Zaretskii <eliz@gnu.org> writes:
>> From: Po Lu <luangruo@yahoo.com>
>> Cc: "Eric S. Raymond" <esr@thyrsus.com>
>> Date: Sun, 06 Aug 2023 21:37:21 +0800
>>
>> "Eric S. Raymond" <esr@thyrsus.com> writes:
>>
>> > This is a pure refactoring step, delete-file's behavior is
>> > unchanged. But the C core is a little simpler now.
>> > ---
>> > lisp/files.el | 20 ++++++++++++++++++++
>> > src/fileio.c | 40 +++++++++-------------------------------
>> > 2 files changed, 29 insertions(+), 31 deletions(-)
>> >
>> > diff --git a/lisp/files.el b/lisp/files.el
>> > index f8867432000..84a8c308b09 100644
>> > --- a/lisp/files.el
>> > +++ b/lisp/files.el
>> > @@ -6352,6 +6352,26 @@ non-nil and if FN fails due to a missing file or directory."
>> > (apply fn args)
>> > (file-missing (or no-such (signal (car err) (cdr err))))))
>> >
>> > +(defun delete-file (filename &optional trash)
>> > + "Delete file named FILENAME. If it is a symlink, remove the symlink.
>> > +If file has multiple names, it continues to exist with the other names.q
>> ^
>> Typo alert!
>>
>> Thanks. While I'm not enthusiastic about moving functions from C to
>> Lisp, others seem to appreciate the gesture, so I won't mention this
>> subject now.
>
> This kind of changes should have been discussed before it was
> installed. There are several issues I can see here:
>
> . delete-file-internal must call expand-file-name on its argument,
> as all primitives that interface to the filesystem must; I fixed
> that;
> . Emacs will now be unable to call delete-file or rename-file during
> loadup, until files.el is loaded -- not sure if this is a problem,
> but I guess we will see;
> . the changeset failed to adjust internal_delete_file, which still
> called Fdelete_file; I fixed that (I hope, see below)
>
> Andrea, please take a look at the last bullet above: I made
> internal_delete_file call Fdelete_file_internal, which means it no
> longer supports remote files. If that is a problem, we should call
> Qdelete_file there, but then I wonder whether calling Lisp at that
> place, even though delete-file is preloaded, can cause any trouble?
I think calling Qdelete_file *should* work as we guard against circular
dependency compilations commanded by the native compiler, but it's
impossible to be sure of that without testing the patch.
Andrea
prev parent reply other threads:[~2023-08-07 15:21 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <169132873104.29568.5167661370136073295@vcs2.savannah.gnu.org>
[not found] ` <20230806133211.6301AC038BE@vcs2.savannah.gnu.org>
2023-08-06 13:37 ` master 10a7615b5d4: Separate filename-deletion mechanism from policy Po Lu
2023-08-06 14:12 ` Eli Zaretskii
2023-08-07 15:21 ` Andrea Corallo [this message]
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=yp1msz2ri7w.fsf@fencepost.gnu.org \
--to=acorallo@gnu.org \
--cc=eliz@gnu.org \
--cc=emacs-devel@gnu.org \
--cc=esr@thyrsus.com \
--cc=luangruo@yahoo.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.