Skip to content

fix(dired): prevent dirvish redisplay feedback loop in multi-frame setups#8664

Merged
hlissner merged 1 commit into
doomemacs:masterfrom
kovan:fix-dirvish-multi-frame
Feb 15, 2026
Merged

fix(dired): prevent dirvish redisplay feedback loop in multi-frame setups#8664
hlissner merged 1 commit into
doomemacs:masterfrom
kovan:fix-dirvish-multi-frame

Conversation

@kovan

@kovan kovan commented Feb 13, 2026

Copy link
Copy Markdown
Contributor

Summary

  • When dirvish is open in two frames simultaneously, the preview panes flicker rapidly
  • Root cause: dirvish-pre-redisplay-h (on pre-redisplay-functions) fires for every window needing redisplay, but unconditionally calls dirvish--redisplay. When two frames each have dirvish, this creates a feedback loop: frame A's redisplay triggers frame B's and vice versa
  • Fix: add :around advice that only calls the original function when the window being redisplayed is the selected window in its frame, breaking the cross-frame loop

Ref: alexluigit/dirvish#353
Fix: #8355

Test plan

  • Open a dirvish buffer in one frame
  • Create a second frame (make-frame) and open dirvish there too
  • Verify neither frame flickers
  • Navigate files in both frames — preview should work normally

  • I searched the issue tracker and this hasn't been PRed before.
  • My changes are not on the do-not-PR list for this project.
  • My commits conform to Doom's git conventions.
  • I am blindly checking these off.
  • This PR contains AI-generated work.
  • Any relevant issues or PRs have been linked to.
  • This a draft PR; I need more time to finish it.

🤖 Generated with Claude Code

Comment thread modules/emacs/dired/config.el
@hlissner hlissner added this to the modules v26.03 milestone Feb 13, 2026
@hlissner hlissner added is:bug Something isn't working as intended :emacs dired Pertains to Doom's :emacs dired module labels Feb 13, 2026
…tups

Fix: doomemacs#8355

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
@kovan

kovan commented Feb 13, 2026

Copy link
Copy Markdown
Contributor Author

Upstream PR submitted: alexluigit/dirvish#371

@hlissner hlissner merged commit da3f73b into doomemacs:master Feb 15, 2026
@hlissner

Copy link
Copy Markdown
Member

LGTM! Thanks again, and for PRing this upstream!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

:emacs dired Pertains to Doom's :emacs dired module is:bug Something isn't working as intended

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Dirvish in second frame keep flashing

2 participants