all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
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




  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.