summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/window.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/window.c b/src/window.c
index 982a7d1d96d..cf45ea30021 100644
--- a/src/window.c
+++ b/src/window.c
@@ -2219,14 +2219,21 @@ buffer names are handled.")
&& window_height (window) >= window_min_height << 1)
window = Fsplit_window (window, Qnil, Qnil);
/* If Fget_lru_window returned nil, try other approaches. */
+
/* Try visible frames first. */
if (NILP (window))
+ window = Fget_buffer_window (buffer, Qvisible);
+ if (NILP (window))
window = Fget_largest_window (Qvisible);
/* If that didn't work, try iconified frames. */
if (NILP (window))
+ window = Fget_buffer_window (buffer, make_number (0));
+ if (NILP (window))
window = Fget_largest_window (make_number (0));
/* Try invisible frames. */
if (NILP (window))
+ window = Fget_buffer_window (buffer, Qt);
+ if (NILP (window))
window = Fget_largest_window (Qt);
/* As a last resort, make a new frame. */
if (NILP (window))