Subject: Re: bug#48359: 28.0.50; vc-annotate revert doesn't work

From: Eli Zaretskii <[email-masked]>
Date: Tue, 11 May 2021 22:10:34 +0300

> From: Dima Kogan <[email-masked]>
> Date: Tue, 11 May 2021 11:55:33 -0700
> 
> 1. emacs -Q -nw file_in_a_git_repo
>    Any file in any repo works probably. I'm using ~/.emacs.d/init.el
> 
> 2. C-x v g
>    vc-annotate
> 
> 3. g
>    Should "revert" the annotation buffer
> 
> This last step doesn't work: I get
> 
>   apply: Symbol's function definition is void: nil
> 
> Looking into that, I see that 'g' maps to (revert-buffer), which makes
> sense. For some reason, revert-buffer-function is set to
> #'help-mode-revert-buffer. This feels very strange. And is the cause of
> the error: help-mode-revert-buffer assumes we're looking at a Help
> buffer, and tries to call nil as a function. Is this speaking to anybody?

Here's the backtrace of the code which sets revert-buffer-function to
help-mode-revert-buffer:

  help-mode()
  help-mode-setup()
  run-hooks(temp-buffer-setup-hook)
  vc-annotate("d:/gnu/git/emacs/trunk/src/bidi.c" ...
  funcall-interactively(vc-annotate "d:/gnu/git/emacs/trunk/src/bidi.c" ...
  call-interactively(vc-annotate nil nil)
  command-execute(vc-annotate)