* bug#2553: *vc-diff* buffers are read-only, but M-k works
@ 2009-03-03 4:18 David Reitter
2012-04-26 3:33 ` Chong Yidong
0 siblings, 1 reply; 7+ messages in thread
From: David Reitter @ 2009-03-03 4:18 UTC (permalink / raw)
To: emacs-pretest-bug
[-- Attachment #1: Type: text/plain, Size: 323 bytes --]
M-k works just fine in read-only *vc-diff* buffers.
However, undoing an M-k command is impossible, as is cutting, pasting,
or all the other things that I did all the time in *vc-diff* buffers
in Emacs 22.
The M-k thing is a bug, the read-only (default?) setting is annoying.
(CVS Emacs, NS. VC in this case: CVS)
[-- Attachment #2: smime.p7s --]
[-- Type: application/pkcs7-signature, Size: 2193 bytes --]
^ permalink raw reply [flat|nested] 7+ messages in thread
* bug#2553: *vc-diff* buffers are read-only, but M-k works
@ 2009-03-04 15:41 Chong Yidong
0 siblings, 0 replies; 7+ messages in thread
From: Chong Yidong @ 2009-03-04 15:41 UTC (permalink / raw)
To: emacs-devel; +Cc: David Reitter, 2553
David Reitter <david.reitter@gmail.com> wrote:
> M-k works just fine in read-only *vc-diff* buffers.
>
> However, undoing an M-k command is impossible, as is cutting, pasting,
> or all the other things that I did all the time in *vc-diff* buffers
> in Emacs 22.
>
> The M-k thing is a bug, the read-only (default?) setting is annoying.
The purpose of making the vc-diff buffer read-only (2007-11-10 change to
vc.el) was so that people can use the read-only diff-mode bindings like
"k" and "p". However, it's counter-intuitive that undo does not work.
Probably the easiest fix is to define a diff-undo command that lifts the
read-only restriction temporarily. Any thoughts?
^ permalink raw reply [flat|nested] 7+ messages in thread
* bug#2553: *vc-diff* buffers are read-only, but M-k works
[not found] <87k575jnwl.fsf@cyd.mit.edu>
@ 2009-03-04 15:54 ` Juanma Barranquero
2011-09-11 21:46 ` Lars Magne Ingebrigtsen
[not found] ` <m3bouqhhvn.fsf@stories.gnus.org>
2 siblings, 0 replies; 7+ messages in thread
From: Juanma Barranquero @ 2009-03-04 15:54 UTC (permalink / raw)
To: Chong Yidong; +Cc: David Reitter, 2553, emacs-devel
On Wed, Mar 4, 2009 at 16:41, Chong Yidong <cyd@stupidchicken.com> wrote:
> However, it's counter-intuitive that undo does not work.
> Probably the easiest fix is to define a diff-undo command that lifts the
> read-only restriction temporarily. Any thoughts?
Most operations on diff-mode buffers do not change the buffer or are
easily reversible (diff-reverse-direction, diff-unified->context,
etc.). Making the buffer read-write is a C-x C-q away, if the user
needs to use undo or normal editing commands.
What is a bit of a pain is that the user cannot easily setup vc-diff
to default to a read-write buffer, because there's no vc-diff-hook and
`(setq buffer-read-only t)' is done after calling diff-mode, so
diff-mode-hook isn't useful either. The only way right now (other than
modifying the source) is to advise vc-diff.
My 0.02€
Juanma
^ permalink raw reply [flat|nested] 7+ messages in thread
* bug#2553: *vc-diff* buffers are read-only, but M-k works
[not found] <87k575jnwl.fsf@cyd.mit.edu>
2009-03-04 15:54 ` bug#2553: *vc-diff* buffers are read-only, but M-k works Juanma Barranquero
@ 2011-09-11 21:46 ` Lars Magne Ingebrigtsen
[not found] ` <m3bouqhhvn.fsf@stories.gnus.org>
2 siblings, 0 replies; 7+ messages in thread
From: Lars Magne Ingebrigtsen @ 2011-09-11 21:46 UTC (permalink / raw)
To: Chong Yidong; +Cc: 2553, emacs-devel, David Reitter
Chong Yidong <cyd@stupidchicken.com> writes:
> The purpose of making the vc-diff buffer read-only (2007-11-10 change to
> vc.el) was so that people can use the read-only diff-mode bindings like
> "k" and "p". However, it's counter-intuitive that undo does not work.
> Probably the easiest fix is to define a diff-undo command that lifts the
> read-only restriction temporarily. Any thoughts?
Perhaps a more general solution would be possible here. I think there
probably are other "mostly-read-only" modes where you have one or two
special commands that alter the buffer, anyway. Like with `M-k'.
Perhaps there could be a buffer-local variable like
`undo-read-only-buffer' that if set, would allow `undo' to work in these
cases.
--
(domestic pets only, the antidote for overdose, milk.)
bloggy blog http://lars.ingebrigtsen.no/
^ permalink raw reply [flat|nested] 7+ messages in thread
* bug#2553: *vc-diff* buffers are read-only, but M-k works
[not found] ` <m3bouqhhvn.fsf@stories.gnus.org>
@ 2011-09-13 1:26 ` Stefan Monnier
[not found] ` <jwvhb4hp72h.fsf-monnier+emacs@gnu.org>
1 sibling, 0 replies; 7+ messages in thread
From: Stefan Monnier @ 2011-09-13 1:26 UTC (permalink / raw)
To: Lars Magne Ingebrigtsen; +Cc: 2553, Chong Yidong, David Reitter, emacs-devel
>> The purpose of making the vc-diff buffer read-only (2007-11-10 change to
>> vc.el) was so that people can use the read-only diff-mode bindings like
>> "k" and "p". However, it's counter-intuitive that undo does not work.
>> Probably the easiest fix is to define a diff-undo command that lifts the
>> read-only restriction temporarily. Any thoughts?
> Perhaps a more general solution would be possible here. I think there
> probably are other "mostly-read-only" modes where you have one or two
> special commands that alter the buffer, anyway. Like with `M-k'.
> Perhaps there could be a buffer-local variable like
> `undo-read-only-buffer' that if set, would allow `undo' to work in these
> cases.
Or we could record in the buffer-undo-list the fact the the modification
was done with inhibit-read-only bound to non-nil, and bind it similarly
during the undo.
Stefan
^ permalink raw reply [flat|nested] 7+ messages in thread
* bug#2553: *vc-diff* buffers are read-only, but M-k works
[not found] ` <jwvhb4hp72h.fsf-monnier+emacs@gnu.org>
@ 2011-10-06 21:59 ` Lars Magne Ingebrigtsen
0 siblings, 0 replies; 7+ messages in thread
From: Lars Magne Ingebrigtsen @ 2011-10-06 21:59 UTC (permalink / raw)
To: Stefan Monnier; +Cc: 2553, emacs-devel, David Reitter
Stefan Monnier <monnier@iro.umontreal.ca> writes:
>> Perhaps a more general solution would be possible here. I think there
>> probably are other "mostly-read-only" modes where you have one or two
>> special commands that alter the buffer, anyway. Like with `M-k'.
>> Perhaps there could be a buffer-local variable like
>> `undo-read-only-buffer' that if set, would allow `undo' to work in these
>> cases.
>
> Or we could record in the buffer-undo-list the fact the the modification
> was done with inhibit-read-only bound to non-nil, and bind it similarly
> during the undo.
That would be even better, and is even more general.
--
(domestic pets only, the antidote for overdose, milk.)
bloggy blog http://lars.ingebrigtsen.no/
^ permalink raw reply [flat|nested] 7+ messages in thread
* bug#2553: *vc-diff* buffers are read-only, but M-k works
2009-03-03 4:18 David Reitter
@ 2012-04-26 3:33 ` Chong Yidong
0 siblings, 0 replies; 7+ messages in thread
From: Chong Yidong @ 2012-04-26 3:33 UTC (permalink / raw)
To: David Reitter; +Cc: 2553
David Reitter <david.reitter@gmail.com> writes:
> M-k works just fine in read-only *vc-diff* buffers.
>
> However, undoing an M-k command is impossible, as is cutting, pasting,
> or all the other things that I did all the time in *vc-diff* buffers
> in Emacs 22.
Fixed in trunk. Thanks for the report.
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2012-04-26 3:33 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <87k575jnwl.fsf@cyd.mit.edu>
2009-03-04 15:54 ` bug#2553: *vc-diff* buffers are read-only, but M-k works Juanma Barranquero
2011-09-11 21:46 ` Lars Magne Ingebrigtsen
[not found] ` <m3bouqhhvn.fsf@stories.gnus.org>
2011-09-13 1:26 ` Stefan Monnier
[not found] ` <jwvhb4hp72h.fsf-monnier+emacs@gnu.org>
2011-10-06 21:59 ` Lars Magne Ingebrigtsen
2009-03-04 15:41 Chong Yidong
-- strict thread matches above, loose matches on Subject: below --
2009-03-03 4:18 David Reitter
2012-04-26 3:33 ` Chong Yidong
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).