GNU bug report logs -
#34765
26.1; with-temp-buffer should not run buffer-list-update-hook
Previous Next
Reported by: Alexander Miller <alexanderm <at> web.de>
Date: Tue, 5 Mar 2019 22:58:02 UTC
Severity: normal
Tags: fixed
Found in version 26.1
Fixed in version 28.1
Done: "Basil L. Contovounesios" <contovob <at> tcd.ie>
Bug is archived. No further changes may be made.
Full log
Message #11 received at 34765 <at> debbugs.gnu.org (full text, mbox):
> When you show a temporary buffer and temporarily show another
> buffer in the same window, there must be a way to show the temporary
> buffer again.
I do no understand the use-case you have in mind here. with-temp-buffer
serves to create a short-lived temporary buffer that is quickly disposed
of again. When would such a buffer be shown anywhere?
> I'm afraid you have to dig further to find out how
> 'buffer-list-update-hook' precisely gets called here.
Did that, turns out it's down to mode-line packages, both powerline and
doom-modeline are advising select-window. I'll create PRs for both.
> What was the issue there?
Same feedback loop as described above, except it would only happen
when a region was active in magit's status buffer. I had tracked
the cause to a temp buffer deep inside magit's internals. Here's the
github link:
https://github.com/magit/magit/issues/3738#issuecomment-464520582
> Emacs 27 now has 'window-selection-change-functions', strongly
> tied to redisplay and triggering only when the window selection has
> changed since last redisplay. Maybe you could try that.
This problem occurs in my treemacs package, so I cannot use a solution
provided by a bleeding edge release, my modus operandi is to support the
last 2 versions of emacs, so 25 and 26 (since stable distros like debian
still use emacs 25). At any rate I have found the culprit in those modeline
packages, so that point is solved.
This bug report was last modified 4 years and 152 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.