GNU bug report logs -
#59457
29.0.50; Incorrect vc-parent-buffer-name on vc-change-log revert
Previous Next
Reported by: Gabriel <gabriel376 <at> hotmail.com>
Date: Mon, 21 Nov 2022 20:39:02 UTC
Severity: normal
Found in version 29.0.50
Done: Sean Whitton <spwhitton <at> spwhitton.name>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Your message dated Mon, 10 Mar 2025 17:18:11 +0800
with message-id <87zfhtjlbg.fsf <at> melete.silentflame.com>
and subject line Re: bug#44698: 27.1; dir-locals.el stay on file-local-variables-alist when using vc-mode
has caused the debbugs.gnu.org bug report #59457,
regarding 29.0.50; Incorrect vc-parent-buffer-name on vc-change-log revert
to be marked as done.
(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)
--
59457: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=59457
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
Description:
The *vc-change-log* buffer gets an incorrect value of
`vc-parent-buffer-name' on `revert-buffer'.
Steps:
1) emacs -Q (master "f176a36f4629b56c9fd9e3fc15aebd04a168c4f5")
2) Open some VC controlled file, e.g.: C-x C-f ~/git/emacs/README RET
3) Annotate the buffer: C-x v g
4) Show log revision at line: l
Result: *vc-change-log* buffer is displayed; the value of
`vc-parent-buffer-name', displayed on the right side of mode-line (see
`mode-line-format' and `mode-line-modes'), is correct (e.g.: " from
*Annotate README (rev f176a36f4629b56c9fd9e3fc15aebd04a168c4f5)*").
5) Revert the buffer: g
Result: the buffer is refreshed, but the value of
`vc-parent-buffer-name' is incorrectly set as " from *vc-change-log*".
---
Gabriel
[Message part 3 (message/rfc822, inline)]
Hello,
On Sat 08 Mar 2025 at 05:11pm +08, Sean Whitton wrote:
> Hello,
>
> On Sat 08 Mar 2025 at 08:07am GMT, Stefan Kangas wrote:
>
>> I think you can use `kill-all-local-variables` for this:
>>
>> (kill-all-local-variables 'kill-permanent)
>
> Oh, thanks, I never knew it could take an argument.
> I think the thing to do here then is add that to vc-log-internal-common.
> We're a long way from releasing Emacs 31 so if this does break something
> else, we'll find out.
>
> Installed the change and closing the bug.
While preparing a fix for #59457 I discovered that invoking vc-print-log
already makes a call to kill-all-local-variables, in vc-setup-buffer.
So calling it in vc-log-internal-common too isn't right.
In other words, the place to fix this is in vc-setup-buffer, which
already has special handling for default-directory.
I've replaced the fix with one in vc-setup-buffer, and also fixed #59457.
--
Sean Whitton
This bug report was last modified 165 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.