It sounds like you want to be using the reusable-frames
entry in your ALIST argument to display-buffer-reuse-window
, rather than inhabit-same-window
? (or perhaps you wanted both?)
You also want to be using add-to-list
rather than clobbering the entire list with setq
.
Edit: My original answer messed up the list structure, as I was using the dotted-pair notation from the documentation, but had omitted one of the dots!
So the correct value is:
(add-to-list
'display-buffer-alist
'("\\*compilation\\*" . (display-buffer-reuse-window
. ((reusable-frames . t)))))
or equivalently:
(add-to-list
'display-buffer-alist
'("\\*compilation\\*" display-buffer-reuse-window
(reusable-frames . t)))
I also notice that there's a good customize
interface for configuring this.