GNU bug report logs - #64071
28.2; smerge-diff creates *vc-diff* without setting it up

Previous Next

Package: emacs;

Reported by: Spencer Baugh <sbaugh <at> janestreet.com>

Date: Wed, 14 Jun 2023 21:42:01 UTC

Severity: normal

Found in version 28.2

Done: Eli Zaretskii <eliz <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


Message #8 received at 64071 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Spencer Baugh <sbaugh <at> janestreet.com>,
 Stefan Monnier <monnier <at> iro.umontreal.ca>
Cc: 64071 <at> debbugs.gnu.org
Subject: Re: bug#64071: 28.2;
 smerge-diff creates *vc-diff* without setting it up
Date: Thu, 15 Jun 2023 10:20:18 +0300
> From: Spencer Baugh <sbaugh <at> janestreet.com>
> Date: Wed, 14 Jun 2023 17:41:39 -0400
> 
> 1. emacs -Q
> 2. Create a buffer containing:
> <<<<<<< left
> foo
> =======
> bar
> >>>>>>> right
> 3. M-x smerge-mode
> 4. M-x smerge-diff-upper-lower
> 5. The resulting *vc-diff* buffer is in diff-mode but it's not
> read-only, which is unusual for a *vc-diff* buffer.

That command enters diff-mode, and diff-mode doesn't force read-only
status on the current buffer.  Why should Smerge force that?

> Probably there is also other setup missing.

Which ones, and to what mode they belong?

> Relatedly, if a *vc-diff* buffer already exists, smerge-mode will use it
> without updating the mode-line, so it will say, for example, "Diff from
> *vc-change-log*" despite the diff being from smerge conflict resolution.

This should probably be easy to fix, and the fix should be safe enough
for the emacs-29 branch.  How about proposing such a fix, and leaving
the more controversial aspects of this alone for now?

Thanks.




This bug report was last modified 1 year and 285 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.