Subject: Re: bug#36680: 27.0.50; undo-tree visualizer flickering with display-buffer-reuse-frames -> t

From: martin rudalics <[email-masked]>
Date: Wed, 17 Jul 2019 10:39:37 +0200

> (setq display-buffer-reuse-frames t)
 > (require 'undo-tree)
 > (undo-tree-mode)
 >
 > Make some further edits to scratch for testing.  Then
 >
 > C-x 5 2
 > C-x u
 > [up]...
 >
 > Any time you switch the current node in the visualizer, the first frame
 > is raised for a very short time, then lowered again.  This is quite
 > annoying, it makes C-x u quite useless when you have a window in another
 > frame displaying the current buffer because it distracts me from seeing
 > what changes in the buffer, I'm unable to see it.  Setting
 > display-buffer-reuse-frames -> nil fixes this.
 >
 > The visualizer calls
 >
 >    (switch-to-buffer-other-window undo-tree-visualizer-buffer-name)
 >
 > which doesn't seem to behave well in this situation.

I don't know why 'undo-tree' apparently insists on switching to its
buffer here but if you put it on another frame you have to live with
the fact that that frame will be raised.  I think you should make a
special rule for 'display-buffer' to not display the undo tree on a
separate frame.  Note also that 'display-buffer-reuse-frames' is an
obsolete variable.

martin