changeset 335:33aa13a3f279

*** empty log message ***
author Jim Blandy <jimb@redhat.com>
date Tue, 16 Jul 1991 03:37:23 +0000
parents 5f0324deb0c5
children 25114d2b73e3
files src/frame.c
diffstat 1 files changed, 11 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
--- 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