From: Stefan Monnier <monnier@iro.umontreal.ca>
To: emacs-devel@gnu.org
Subject: Re: Rename, delete and move current buffer and file
Date: Mon, 07 May 2018 13:01:28 -0400 [thread overview]
Message-ID: <jwvefintnxp.fsf-monnier+gmane.emacs.devel@gnu.org> (raw)
In-Reply-To: CAO_X8WDj1W9f7cwMuT0cP9r2mTpLKhM4E0nXJ1z5ynXUnkKVGg@mail.gmail.com
>> Similarly
>>
>> M-x rename-file RET
>>
>> could try and detect if the source name matches some of the buffers's
>> filenames and ask whether we want to rename those buffers's filenames
>> accordingly.
[...]
> People might not remember the whole command name, but when they use M-x, or
> C-h f with some filtering it will pop up when typing "rename" or "move",
[...]
> So I stand by my commands proposal.
I don't understand: it seems like "rename-file" is a name which should
just work with your M-x and C-h f examples, so I don't see how those examples
argues in favor of "my commands proposal" instead of using "rename-file".
>> C-x C-w gives you "/current/dir/" is initial input. If you then type
>> "/other/dir/" it will "move" the file without "renaming" it (I
>> personally don't like to make this distinction, probably because
>> I consider the file's name to include all the leading directories, which
>> is also the implicit point of view of the GNU Coding Standard which uses
>> "file name" rather than "path" and reserves the word "path" for things
>> like $PATH, $LS_LIBRARY_PATH, load-path, ...).
>> And M-n inserts the current name, so I think it handles both
>> use-cases well enough.
> This creates a copy of the file, while I want to rename/move it.
I only presented this example to illustrate how Emacs merges both "new
name" and "new directory" into a single UI (tho indeed currently
C-x C-w doesn't actually "move/rename" but it copies instead).
> include things like deal with version control. A single "move" function is
> fine, maybe even the set-visited-file-name semantics are OK, it just has a
> bad name, has no key bindings, no menu item,
C-x C-w does have all those feature (other than the name).
> and I would like a delete-visited-file to complement it.
Could you give details as to why you'd want to separate it from
`delete-file`?
> When I look for a command to move a file in the M-x completion prompt,
> I will try "move" and "rename" and see what matches,
Right, and you'll find `rename-file`, which is what I think should do
what you want.
> but I would surely not naturally come up with any substring
> of set-visited-file-name when thinking how Emacs might have named a command
> to move files, except for "file-name", but this matches a ton of things. I
> am sure many people using Emacs don't even know the concept of a visited
> file.
Agreed. So I find it odd that you insist on having "visited-file" in
the name of the commands ;-)
> Also, note there is rename-file, rename-buffer, but then
> set-visited-file-name for what is effectively
> rename-file-with-visited-buffer.
set-visited-file-name does not rename any file, AFAIK (and I don't see
any suggestion to change this).
> There is also an interactive delete-file, obviously there is kill-buffer,
> but no way to delete file and kill its visiting buffer.
FWIW, I very rarely need to do delete-file and kill-buffer at the same
time, so I'm not convinced there's a need for a separate command for
that. But as noted, I'd be OK for delete-file to kill the matching
buffer(s) [ either subject to a prompt or a user-config, for those users
who like to `delete-file` while keeping the buffer, as is occasionally
my case. ]
Stefan
next prev parent reply other threads:[~2018-05-07 17:01 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-05-07 13:58 Rename, delete and move current buffer and file Jarosław Rzeszótko
2018-05-07 14:53 ` Stefan Monnier
2018-05-07 16:20 ` Jarosław Rzeszótko
2018-05-07 17:01 ` Stefan Monnier [this message]
2018-05-07 17:47 ` Jarosław Rzeszótko
2018-05-08 1:28 ` Stefan Monnier
2018-05-08 7:05 ` Jarosław Rzeszótko
2018-05-09 12:28 ` Stefan Monnier
2018-05-09 18:12 ` Radon Rosborough
2018-05-09 22:44 ` Stefan Monnier
2018-05-10 17:01 ` Radon Rosborough
2018-05-10 21:49 ` Stefan Monnier
2018-05-11 7:31 ` Andreas Schwab
2018-05-11 15:33 ` Stefan Monnier
2018-05-11 15:45 ` Paul Eggert
2018-05-11 16:06 ` Clément Pit-Claudel
2018-05-11 16:14 ` Stefan Monnier
2018-05-09 23:50 ` Van L
2018-05-10 5:37 ` Jarosław Rzeszótko
2018-05-10 13:18 ` Van L
2018-05-10 8:20 ` Amit Ramon
2018-05-10 8:59 ` Phil Sainty
2018-05-10 16:04 ` Eli Zaretskii
2018-05-07 18:20 ` Andreas Schwab
2018-05-08 1:28 ` Stefan Monnier
2018-05-07 15:28 ` Yuri Khan
2018-05-07 16:20 ` Jarosław Rzeszótko
2018-05-09 11:46 ` Tino Calancha
2018-05-07 15:29 ` Andreas Röhler
2018-05-07 15:38 ` Andreas Röhler
2018-05-10 0:46 ` net june
2018-05-11 6:26 ` Andreas Röhler
2018-05-11 16:10 ` net june
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=jwvefintnxp.fsf-monnier+gmane.emacs.devel@gnu.org \
--to=monnier@iro.umontreal.ca \
--cc=emacs-devel@gnu.org \
/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.