Commit 3780bc22 authored by Gerd Moellmann's avatar Gerd Moellmann

(next_frame): Don't check frame-focus redirection in

case MINIBUF is a window.  Doing so excludes frames using MINIBUF
unless their focus is redirected, which contradicts the
specification of next-frame, and leads to infinite loops in
certain situations when cycling through windows with next-window.
parent bb6677a8
2000-06-30 Gerd Moellmann <gerd@gnu.org>
* frame.c (next_frame): Don't check frame-focus redirection in
case MINIBUF is a window. Doing so excludes frames using MINIBUF
unless their focus is redirected, which contradicts the
specification of next-frame, and leads to infinite loops in
certain situations when cycling through windows with next-window.
2000-06-30 Kenichi Handa <handa@etl.go.jp> 2000-06-30 Kenichi Handa <handa@etl.go.jp>
* coding.c (code_convert_region): Even if the length of text is * coding.c (code_convert_region): Even if the length of text is
......
...@@ -934,7 +934,7 @@ next_frame (frame, minibuf) ...@@ -934,7 +934,7 @@ next_frame (frame, minibuf)
if (FRAME_VISIBLE_P (XFRAME (f))) if (FRAME_VISIBLE_P (XFRAME (f)))
return f; return f;
} }
else if (XFASTINT (minibuf) == 0) else if (INTEGERP (minibuf) && XINT (minibuf) == 0)
{ {
FRAME_SAMPLE_VISIBILITY (XFRAME (f)); FRAME_SAMPLE_VISIBILITY (XFRAME (f));
if (FRAME_VISIBLE_P (XFRAME (f)) if (FRAME_VISIBLE_P (XFRAME (f))
...@@ -943,6 +943,10 @@ next_frame (frame, minibuf) ...@@ -943,6 +943,10 @@ next_frame (frame, minibuf)
} }
else if (WINDOWP (minibuf)) else if (WINDOWP (minibuf))
{ {
#if 0 /* I don't think the test for frame focus redirection is
correct. This excludes frames "using the current minibuffer"
when their focus isn't redirected, which contradicts the doc
string of next-frame. --gerd, 2000-06-30 */
if (EQ (FRAME_MINIBUF_WINDOW (XFRAME (f)), minibuf) if (EQ (FRAME_MINIBUF_WINDOW (XFRAME (f)), minibuf)
/* Check that F either is, or has forwarded its focus to, /* Check that F either is, or has forwarded its focus to,
MINIBUF's frame. */ MINIBUF's frame. */
...@@ -950,6 +954,11 @@ next_frame (frame, minibuf) ...@@ -950,6 +954,11 @@ next_frame (frame, minibuf)
|| EQ (WINDOW_FRAME (XWINDOW (minibuf)), || EQ (WINDOW_FRAME (XWINDOW (minibuf)),
FRAME_FOCUS_FRAME (XFRAME (f))))) FRAME_FOCUS_FRAME (XFRAME (f)))))
return f; return f;
#else /* not 0 */
if (EQ (FRAME_MINIBUF_WINDOW (XFRAME (f)), minibuf)
|| EQ (WINDOW_FRAME (XWINDOW (minibuf)), f))
return f;
#endif /* not 0 */
} }
else else
return f; return f;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment