GNU bug report logs -
#73387
30.0.90; C-x v v in diff-mode doesn't work after C-c C-n
Previous Next
Reported by: Sean Whitton <spwhitton <at> spwhitton.name>
Date: Fri, 20 Sep 2024 16:10:01 UTC
Severity: normal
Found in version 30.0.90
Done: Sean Whitton <spwhitton <at> spwhitton.name>
Bug is archived. No further changes may be made.
Full log
Message #23 received at 73387 <at> debbugs.gnu.org (full text, mbox):
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).
This bug report was last modified 232 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.