Caused by over-zealous doom-switch-window-hook. For my own sanity (and if you're curious), I'll break it down here: 1. Doom has a `doom-switch-window-hook` hook. It triggers when window focus is changed. 2. We use `buffer-list-update-hook` to trigger `doom-switch-window-hook`. (That may sound weird, but this hook is reliably executed when window focus is changed -- there are safeguards to prevent this from triggering too often) 3. `buffer-list-update-hook` triggers whenever a buffer is created, but `doom-switch-window-hook` only triggers if the created buffer is in a new window. 4. The use of `with-temp-buffer` in `centaur-tabs-line-format` counts as "buffer creation" in a "new window". 5. `+vc-gutter-update-h` is in `doom-switch-window-hook`. This refreshes git-gutter, which initiates a redraw of Emacs. 6. When Emacs redraws, it recalculates its mode and header lines. which triggers `doom-switch-window-hook` once, which triggers `+vc-gutter-update-h`, which redraws the screen, then Emacs recalculates the header line, running `centaur-tabs-line-format`... Infinite loop ensues Hopefully fixes: - hlissner/doom-emacs#2436 - ema2159/centaur-tabs#18 - ema2159/centaur-tabs#88 |
||
---|---|---|
.. | ||
autoload.el | ||
config.el | ||
packages.el |