From: Eli Zaretskii <eliz@gnu.org>
To: "Alfred M. Szmidt" <ams@gnu.org>
Cc: drew.adams@oracle.com, dmitry@gutov.dev, joaotavora@gmail.com,
philipk@posteo.net, monnier@iro.umontreal.ca,
emacs-devel@gnu.org
Subject: Re: [External] : Re: Adding refactoring capabilities to Emacs
Date: Fri, 29 Sep 2023 13:36:22 +0300 [thread overview]
Message-ID: <83a5t51d21.fsf@gnu.org> (raw)
In-Reply-To: <E1ql9tE-0006Ke-Mb@fencepost.gnu.org> (ams@gnu.org)
> From: "Alfred M. Szmidt" <ams@gnu.org>
> Cc: dmitry@gutov.dev, joaotavora@gmail.com, philipk@posteo.net,
> monnier@iro.umontreal.ca, eliz@gnu.org, emacs-devel@gnu.org
> Date: Tue, 26 Sep 2023 11:22:20 -0400
>
> Occur and grep buffers are by default read-only (and there is a
> regression in that too
It is only a "regression" if you still have your muscle memory from 20
years ago, since it's when we started making the compilation-mode
buffers read-opnly.
> -- you can no longer edit a grep/occur buffer
> easily due to strange font lock or other properties).
Of course, you can: this is just one "C-x C-q" away (as in any other
read-only buffer). Let's not look for problems where there are none.
> They are also not files, if you open a file (any file really) you will
> expect to be able to edit it using normal commands not specific to the
> mode (i.e. self-inser-command ...). vc-diff etc, are more akin to
> occur and grep -- the user doesn't work against the file, but rather a
> buffer.
That depends on your workflows and preferences, of course. I can
easily imagine someone working with *.diff and *.patrh files a lot.
> We already have, and are used to, the universal idiom of `C-x C-q'
> to toggle a buffer read-only. I use that in grep and occur buffers
> without a second thought. Why isn't that "sufficient" for diff
> buffers as well?
>
> Because we are also talking about files on disk. If you save a
> compilation buffer (essentially the same thing as M-x grep or M-x
> occur) to disk, and re-open it, it will not be read-only -- and it
> would make little sense for it to be so. Where as M-x compile _will_
> be read-only.
I don't see how this is a problem.
There are kinds of files and buffers where sometimes it makes sense to
have them editable and sometimes not, sometimes it makes sense to
treat them as normal text files, and sometimes as specially-formatted
files supported by special modes. Emacs lets you handle these cases
in all of the above possibilities, and I see no reason to argue about
what is The Only Right Thing here, because there isn't one.
> I can see that some might want commands/keys that act on the buffer
> content, including to change it in
> structured/"legitimate"/refactoring ways, while keeping it
> read-only.
>
> One can have both, diff-mode already allows you to edit the file, and
> act on it in a structure manner -- much like any programming mode.
And "C-x C-q" or "M-x fundamental-mode" or "M-x text-mode" lets you
edit them if you need.
> That way, by default, diff buffers would still be read-only by
> default, quitable with `q', but also modifiable in all the usual
> ways after `C-x C-q'.
>
> But diff buffers aren't read-only -- it depends on their context.
The context depends on the use case and the workflow, and cannot be
reliably determined by Emacs. So we picked one possibility, and the
others are just one command away.
So let's please stop this futile dispute, which once again is entirely
about personal preferences.
next prev parent reply other threads:[~2023-09-29 10:36 UTC|newest]
Thread overview: 147+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-08-19 6:03 Adding refactoring capabilities to Emacs Eli Zaretskii
2023-08-19 10:58 ` Eshel Yaron
2023-08-19 11:18 ` Eli Zaretskii
2023-08-20 1:19 ` Dmitry Gutov
2023-08-20 6:39 ` Eli Zaretskii
2023-08-20 6:42 ` Ihor Radchenko
2023-08-20 8:44 ` Yuri Khan
2023-08-20 22:51 ` Dmitry Gutov
2023-08-29 10:53 ` João Távora
2023-08-29 11:35 ` Dr. Arne Babenhauserheide
2023-08-30 0:52 ` Dmitry Gutov
2023-08-30 18:46 ` Stefan Kangas
2023-08-30 19:59 ` Dmitry Gutov
2023-08-30 20:37 ` João Távora
2023-08-30 21:49 ` Dmitry Gutov
2023-08-30 22:01 ` Stefan Kangas
2023-08-30 22:04 ` Dmitry Gutov
2023-09-04 6:03 ` Rudolf Schlatte
2023-09-04 11:04 ` João Távora
2023-09-04 12:18 ` Rudolf Schlatte
2023-08-31 5:03 ` Eli Zaretskii
2023-08-31 8:02 ` João Távora
2023-09-04 15:45 ` Dmitry Gutov
2023-09-04 23:34 ` Dmitry Gutov
2023-09-04 17:23 ` Juri Linkov
2023-09-04 17:53 ` Alfred M. Szmidt
2023-09-05 6:38 ` Juri Linkov
2023-09-05 7:46 ` Alfred M. Szmidt
2023-09-04 18:04 ` Dmitry Gutov
2023-09-05 6:43 ` Juri Linkov
2023-09-04 20:49 ` Philip Kaludercic
2023-09-04 17:15 ` Juri Linkov
2023-09-04 18:02 ` Dmitry Gutov
2023-09-05 13:56 ` Alexander Adolf
2023-09-05 14:00 ` Dmitry Gutov
2023-09-06 13:25 ` Alexander Adolf
2023-08-20 13:00 ` sbaugh
2023-09-07 14:39 ` João Távora
2023-09-07 16:20 ` Stefan Monnier
2023-09-07 16:49 ` João Távora
2023-09-07 17:06 ` Stefan Monnier
2023-09-07 17:24 ` João Távora
2023-09-07 17:54 ` Stefan Monnier
2023-09-07 18:12 ` João Távora
2023-09-07 21:56 ` Stefan Monnier
2023-09-07 23:46 ` Lynn Winebarger
2023-09-07 20:41 ` Dmitry Gutov
2023-09-07 22:03 ` Stefan Monnier
2023-09-07 22:43 ` Dmitry Gutov
2023-09-07 22:18 ` João Távora
2023-09-07 22:39 ` Dmitry Gutov
2023-09-08 6:18 ` Eli Zaretskii
2023-09-08 18:25 ` Dmitry Gutov
2023-09-08 18:35 ` João Távora
2023-09-08 18:38 ` Dmitry Gutov
2023-09-08 18:44 ` João Távora
2023-09-08 19:29 ` Dmitry Gutov
2023-09-08 18:57 ` Eli Zaretskii
2023-09-08 19:01 ` João Távora
2023-09-08 6:55 ` João Távora
2023-09-08 15:42 ` Stefan Monnier
2023-09-08 16:05 ` João Távora
2023-09-08 16:20 ` João Távora
2023-09-25 23:11 ` Dmitry Gutov
2023-09-25 23:32 ` Dmitry Gutov
2023-09-26 5:36 ` Alfred M. Szmidt
2023-09-26 8:06 ` João Távora
2023-09-26 10:57 ` Dmitry Gutov
2023-09-26 11:24 ` João Távora
2023-09-26 11:33 ` Alfred M. Szmidt
2023-09-26 11:34 ` Dmitry Gutov
2023-09-26 12:57 ` João Távora
2023-09-26 13:09 ` Alfred M. Szmidt
2023-09-26 13:52 ` Dmitry Gutov
2023-09-26 13:38 ` Philip Kaludercic
2023-09-26 14:06 ` João Távora
2023-09-26 14:31 ` Dmitry Gutov
2023-09-26 14:51 ` João Távora
2023-09-26 14:54 ` Dmitry Gutov
2023-09-26 15:17 ` João Távora
2023-09-26 15:35 ` Alfred M. Szmidt
2023-09-26 15:38 ` Dmitry Gutov
2023-09-26 15:47 ` Alfred M. Szmidt
2023-09-26 16:01 ` Dmitry Gutov
2023-09-26 16:10 ` Alfred M. Szmidt
2023-09-29 10:55 ` Eli Zaretskii
2023-09-29 12:36 ` Alfred M. Szmidt
2023-09-29 15:32 ` Eli Zaretskii
2023-09-26 16:31 ` Yuri Khan
2023-09-26 17:28 ` Dmitry Gutov
2023-09-29 11:10 ` Eli Zaretskii
2023-09-29 10:49 ` Eli Zaretskii
2023-09-29 12:36 ` Alfred M. Szmidt
2023-09-26 15:01 ` [External] : " Drew Adams
2023-09-26 15:22 ` Alfred M. Szmidt
2023-09-29 10:36 ` Eli Zaretskii [this message]
2023-09-29 12:30 ` Robert Pluim
2023-09-29 13:11 ` Stefan Monnier
2023-09-29 13:13 ` Alfred M. Szmidt
2023-09-29 13:16 ` João Távora
2023-09-29 13:19 ` João Távora
2023-09-29 15:20 ` Stefan Monnier
2023-10-01 12:07 ` Stefan Kangas
2023-10-01 18:43 ` Howard Melman
2023-09-29 15:47 ` Drew Adams
2023-09-29 15:30 ` Eli Zaretskii
2023-09-26 15:27 ` Alfred M. Szmidt
2023-09-29 10:40 ` Eli Zaretskii
2023-09-29 12:36 ` Alfred M. Szmidt
2023-09-29 15:34 ` Eli Zaretskii
2023-09-29 15:40 ` Alfred M. Szmidt
2023-09-29 16:22 ` Eli Zaretskii
2023-09-29 16:32 ` Alfred M. Szmidt
2023-09-29 16:51 ` Eli Zaretskii
2023-09-29 17:32 ` Alfred M. Szmidt
2023-09-29 17:56 ` Eli Zaretskii
2023-09-29 18:02 ` Stefan Monnier
2023-09-26 10:55 ` Dmitry Gutov
2023-09-26 12:03 ` Alfred M. Szmidt
2023-09-26 12:11 ` Dmitry Gutov
2023-09-26 12:20 ` Alfred M. Szmidt
2023-09-29 6:52 ` Eli Zaretskii
2023-09-29 10:21 ` Dmitry Gutov
2023-09-29 15:20 ` Eli Zaretskii
2023-09-29 17:20 ` Dmitry Gutov
2023-09-29 17:36 ` Eli Zaretskii
2023-09-29 17:44 ` Dmitry Gutov
2023-09-08 18:35 ` Dmitry Gutov
[not found] ` <CALDnm52Wtat24JFu=o6m_eJVamub+1H1BxNd5eELQ2j--7OetA@mail.gmail.com>
[not found] ` <da4cb294-39eb-c4a1-a625-da5ee183170c@gutov.dev>
2023-09-08 18:57 ` João Távora
2023-09-07 19:06 ` Felician Nemeth
2023-09-07 19:19 ` João Távora
2023-09-07 19:25 ` Ihor Radchenko
2023-09-07 19:28 ` Ihor Radchenko
2023-09-07 22:14 ` João Távora
2023-09-07 20:43 ` Dmitry Gutov
2023-09-07 22:39 ` Dmitry Gutov
2023-09-08 11:10 ` João Távora
2023-09-08 22:35 ` Dmitry Gutov
2023-09-08 23:17 ` João Távora
2023-09-08 12:46 ` Eshel Yaron
2023-09-08 12:52 ` João Távora
2023-09-08 13:18 ` Eshel Yaron
2023-10-01 15:07 ` Extract to new definition (was: Adding refactoring capabilities to Emacs) Eshel Yaron
2023-09-08 13:30 ` [semi off topic] grep-based refactoring [was: Adding refactoring capabilities to Emacs] tomas
2023-09-08 17:53 ` João Távora
2023-09-08 18:24 ` Dmitry Gutov
2023-09-08 18:51 ` tomas
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
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=83a5t51d21.fsf@gnu.org \
--to=eliz@gnu.org \
--cc=ams@gnu.org \
--cc=dmitry@gutov.dev \
--cc=drew.adams@oracle.com \
--cc=emacs-devel@gnu.org \
--cc=joaotavora@gmail.com \
--cc=monnier@iro.umontreal.ca \
--cc=philipk@posteo.net \
/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 public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).