From: Gerd Moellmann Date: Tue, 13 Feb 2001 15:44:58 +0000 (+0000) Subject: (window_loop) : Prefer to return X-Git-Tag: emacs-pretest-21.0.98~23 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=5ddc1b75c6b54d2fe1d0501e0148e193546dbfd3;p=emacs.git (window_loop) : Prefer to return the selected window if it is showing the buffer in question. --- diff --git a/src/ChangeLog b/src/ChangeLog index 91a3aec56f3..670e999a9ea 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 769aa56a38d..4ddca7138f7 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;