GNU bug report logs - #62749
28.2; add-log-current-defun doesn't clean up its temporary buffers

Previous Next

Package: emacs;

Reported by: Oleksandr Gavenko <gavenkoa <at> gmail.com>

Date: Mon, 10 Apr 2023 12:12:01 UTC

Severity: normal

Found in version 28.2

Full log


View this message in rfc822 format

From: Juri Linkov <juri <at> linkov.net>
To: Oleksandr Gavenko <gavenkoa <at> gmail.com>
Cc: Dmitry Gutov <dmitry <at> gutov.dev>, 62749 <at> debbugs.gnu.org
Subject: bug#62749: 28.2; Emacs keeps opening related file from vc-diff buffer
Date: Mon, 15 May 2023 19:46:36 +0300
> After bisecting my long .emacs config I pinpointed the culprit:
>
> (which-func-mode 1)
>
> During the movement through a diff buffer this mode loads corresponding
> files:
>
>   if the cursor reaches a new hunk - the corresponding file is opened ((
>
> This is done one by one file while I scroll down with the cursor.
>
> Removing the line significantly improved performance during scromming in VC
> diff buffer in Cygwin and no more new files opened!

This is an interesting problem, I can reproduce it by
'M-x which-function-mode'.

> I think which-function-mode is broken for diff-mode, the workaround for
> those who wants this mode is to deal with:
>
> (defcustom which-func-modes t
>   ;; '(emacs-lisp-mode c-mode c++-mode objc-mode perl-mode cperl-mode python-mode
>   ;;               makefile-mode sh-mode fortran-mode f90-mode ada-mode
>   ;;               diff-mode)
>   "List of major modes for which Which Function mode should be used.
> For other modes it is disabled.  If this is equal to t,
> then Which Function mode is enabled in any major mode that supports it."
>
> What are the next actions?

Maybe 'diff-syntax-fontify' could have a similar list of minor modes
that should be ignored.  Then such a list should at least contain
'which-func-mode' by default.




This bug report was last modified 191 days ago.

Previous Next


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