From 5ddc1b75c6b54d2fe1d0501e0148e193546dbfd3 Mon Sep 17 00:00:00 2001 From: Gerd Moellmann Date: Tue, 13 Feb 2001 15:44:58 +0000 Subject: [PATCH] (window_loop) : Prefer to return the selected window if it is showing the buffer in question. --- src/ChangeLog | 3 +++ src/window.c | 16 ++++++---------- 2 files changed, 9 insertions(+), 10 deletions(-) diff --git a/src/ChangeLog b/src/ChangeLog index 91a3aec56f..670e999a9e 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,5 +1,8 @@ 2001-02-13 Gerd Moellmann + * window.c (window_loop) : Prefer to return + the selected window if it is showing the buffer in question. + * dired.c (directory_files_internal): Initialize errno. (toplevel): Include errno.h. diff --git a/src/window.c b/src/window.c index 769aa56a38..4ddca7138f 100644 --- a/src/window.c +++ b/src/window.c @@ -1669,7 +1669,6 @@ MINIBUF neither nil nor t means never include the minibuffer window.") (frame, minibuf, window) Lisp_Object frame, minibuf, window; { - if (NILP (window)) window = selected_window; if (NILP (frame)) @@ -1764,13 +1763,6 @@ window_loop (type, obj, mini, frames) else window = FRAME_SELECTED_WINDOW (SELECTED_FRAME ()); - /* Figure out the last window we're going to mess with. Since - Fnext_window, given the same options, is guaranteed to go in a - ring, we can just use Fprevious_window to find the last one. - - We can't just wait until we hit the first window again, because - it might be deleted. */ - windows = window_list_1 (window, mini ? Qt : Qnil, frame_arg); GCPRO1 (windows); best_window = Qnil; @@ -1799,8 +1791,12 @@ window_loop (type, obj, mini, frames) ? EQ (window, minibuf_window) : 1)) { - UNGCPRO; - return window; + if (NILP (best_window)) + best_window = window; + else if (EQ (window, selected_window)) + /* For compatibility with 20.x, prefer to return + selected-window. */ + best_window = window; } break; -- 2.20.1