bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#73387: 30.0.90; C-x v v in diff-mode doesn't work after C-c C-n


From: Dmitry Gutov
Subject: bug#73387: 30.0.90; C-x v v in diff-mode doesn't work after C-c C-n
Date: Tue, 24 Sep 2024 20:36:32 +0300
User-agent: Mozilla Thunderbird

On 24/09/2024 18:54, Sean Whitton wrote:
On Tue 24 Sep 2024 at 09:32am +03, Juri Linkov wrote:

But to really commit the narrowed diff I think you'll need to do
something about this line in vc-next-action

       ((eq model 'patch)
        (vc-checkin files backend nil nil nil (buffer-string)))

...to specify altered buffer contents as the diff to use.
What is altered buffer contents?  Maybe widening is needed here as well?
Yeah, could you say more, please, Dmitry?

What we basically want is a non-contiguous region, including the hunk
and the relevant file header.  Are you thinking something like two
(BEG . END) pairs specifying that region?

That's the question - what to do there (if be can), instead of passing the whole buffer string.

Maybe it should call again some new function inside diff-mode package which would return an altered patch based on the current restrictions (but with file headers added).

Simply calling 'widen' could counteract what seems like your intent.

OTOH, maybe what you want to do here could be reached some other way - e.g. instead of 'C-x n n' we would have a command which edits the diff buffer to leave in only the hunks intersecting the current region. When the subsequent (buffer-string) would do the right thing.

The latter might also be a better fit for the overall workflow we were thinking about (create a diff -> alter it as necessary -> commit).





reply via email to

[Prev in Thread] Current Thread [Next in Thread]