aboutsummaryrefslogtreecommitdiffstats
path: root/src/window.c
diff options
context:
space:
mode:
authorGerd Moellmann2001-02-13 15:44:58 +0000
committerGerd Moellmann2001-02-13 15:44:58 +0000
commit5ddc1b75c6b54d2fe1d0501e0148e193546dbfd3 (patch)
tree0f9d793afd65b796191e239e825f3784ce00c0ac /src/window.c
parent2e6621ca8cf108d51a84f1700aa44c90e7ebb82f (diff)
downloademacs-5ddc1b75c6b54d2fe1d0501e0148e193546dbfd3.tar.gz
emacs-5ddc1b75c6b54d2fe1d0501e0148e193546dbfd3.zip
(window_loop) <GET_BUFFER_WINDOW>: Prefer to return
the selected window if it is showing the buffer in question.
Diffstat (limited to 'src/window.c')
-rw-r--r--src/window.c16
1 files changed, 6 insertions, 10 deletions
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.")
1669 (frame, minibuf, window) 1669 (frame, minibuf, window)
1670 Lisp_Object frame, minibuf, window; 1670 Lisp_Object frame, minibuf, window;
1671{ 1671{
1672
1673 if (NILP (window)) 1672 if (NILP (window))
1674 window = selected_window; 1673 window = selected_window;
1675 if (NILP (frame)) 1674 if (NILP (frame))
@@ -1764,13 +1763,6 @@ window_loop (type, obj, mini, frames)
1764 else 1763 else
1765 window = FRAME_SELECTED_WINDOW (SELECTED_FRAME ()); 1764 window = FRAME_SELECTED_WINDOW (SELECTED_FRAME ());
1766 1765
1767 /* Figure out the last window we're going to mess with. Since
1768 Fnext_window, given the same options, is guaranteed to go in a
1769 ring, we can just use Fprevious_window to find the last one.
1770
1771 We can't just wait until we hit the first window again, because
1772 it might be deleted. */
1773
1774 windows = window_list_1 (window, mini ? Qt : Qnil, frame_arg); 1766 windows = window_list_1 (window, mini ? Qt : Qnil, frame_arg);
1775 GCPRO1 (windows); 1767 GCPRO1 (windows);
1776 best_window = Qnil; 1768 best_window = Qnil;
@@ -1799,8 +1791,12 @@ window_loop (type, obj, mini, frames)
1799 ? EQ (window, minibuf_window) 1791 ? EQ (window, minibuf_window)
1800 : 1)) 1792 : 1))
1801 { 1793 {
1802 UNGCPRO; 1794 if (NILP (best_window))
1803 return window; 1795 best_window = window;
1796 else if (EQ (window, selected_window))
1797 /* For compatibility with 20.x, prefer to return
1798 selected-window. */
1799 best_window = window;
1804 } 1800 }
1805 break; 1801 break;
1806 1802