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

From: Eli Zaretskii <[email-masked]>
Date: Thu, 03 Oct 2024 14:07:36 +0300

> From: Sean Whitton <[email-masked]>
> Cc: [email-masked],  [email-masked],  [email-masked],
>   [email-masked]
> Date: Thu, 03 Oct 2024 15:06:58 +0800
> 
> Hello,
> 
> On Thu 03 Oct 2024 at 09:33am +03, Eli Zaretskii wrote:
> 
> >> From: Sean Whitton <[email-masked]>
> >> Cc: [email-masked],  [email-masked],  [email-masked],
> >>   [email-masked]
> >> Date: Thu, 03 Oct 2024 08:50:37 +0800
> >>
> >> >   @item C-c @key{RET} k
> >> >   Delete diff hunks other than the current one.  If the region is
> >> >   active, this command deletes the hunks overlapped by the region;
> >> >   otherwise it deletes all the hunks other than the current hunk.  Do
> >> >   @emph{not} invoke this command in a narrowed buffer, as that could
> >> >   produce unexpected results.
> >>
> >> Okay, I've rewritten based on this, though I haven't included the
> >> imprecation, because invoking it in a narrowed buffer could never
> >> produce unexpected results -- the function will always do nothing.
> >
> > Then why do we signal user-error in that case?  I think this should be
> > explained in the manual.
> 
> I think I am using user-error wrongly.
> 
> Shall I just switch it to 'message', and rearrange the control flow so
> nothing else happens?

Maybe so, but I'd still would like to hear the rationale for telling
the user "Cannot commit patch when narrowed; consider 'widen'".  If
indeed we "cannot commit" in this case, signaling an error is TRT, and
replacing that with a message is not, because it will do what you
claim in the message you cannot.