When looking at a patch in diff-mode, one can visit the sources being patched with several functions, for instance (diff-goto-source). This patch makes sure that the source buffer does not cover up the diff-mode buffer in its window, but uses any other window instead. This really is a continuation of bug 20034 (and 17675 and 19901). I feel like the earlier display-buffer implementation had a nicer default in this regard. Should we keep adding this patch wherever a user operation on a buffer can cause a different buffer to be displayed, or should display-buffer defaults be changed to make the "don't steal user's focus" behavior the default?