# HG changeset patch # User Jim Blandy # Date 679635443 0 # Node ID 33aa13a3f279febde3bd4a274c1f5c6bd68a87e9 # Parent 5f0324deb0c5fd08dd4bcf419d52fdb79b9ba837 *** empty log message *** diff -r 5f0324deb0c5 -r 33aa13a3f279 src/frame.c --- a/src/frame.c Mon Jul 15 22:33:41 1991 +0000 +++ b/src/frame.c Tue Jul 16 03:37:23 1991 +0000 @@ -317,9 +317,14 @@ for (tail = Vscreen_list; CONSP (tail); tail = XCONS (tail)->cdr) { if (passed) - if (!mini_screen - && EQ (XCONS (tail)->car, Vglobal_minibuffer_screen)) - continue; + if (!mini_screen) + { + SCREEN_PTR s = XSCREEN (XCONS (tail)->car); + + if (EQ (XCONS (tail)->car, Vglobal_minibuffer_screen) + && EQ (s->root_window, s->minibuffer_window)) + continue; + } else return XCONS (tail)->car; @@ -354,8 +359,8 @@ DEFUN ("next-screen", Fnext_screen, Snext_screen, 0, 2, 0, "Return the next screen in the screen list after SCREEN.\n\ -If MINISCREEN is non-nil, include the global-minibuffer-screen if it\n\ -has its own screen.") +If MINISCREEN is non-nil, include screens whose only window is a minibuffer.\n\ +If MINISCREEN is nil or omitted, these screens are skipped.") (screen, miniscreen) Lisp_Object screen, miniscreen; { @@ -893,12 +898,11 @@ { register int left = XINT (w->left); register int width = XINT (w->width); - register int screen_height = XINT ((XSCREEN (w->screen)->height)); register int window_height = XINT (w->height); register int top = XFASTINT (w->top); if (*x < left || *x >= left + width - || *y == screen_height || *y < top || *y > top + window_height - 1) + || *y < top || *y > top + window_height - 1) return 0; if (*y == top + window_height - 1