diff options
| -rw-r--r-- | src/frame.c | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/src/frame.c b/src/frame.c index 8f07e71d893..ad029713953 100644 --- a/src/frame.c +++ b/src/frame.c | |||
| @@ -317,9 +317,14 @@ next_screen (screen, mini_screen) | |||
| 317 | for (tail = Vscreen_list; CONSP (tail); tail = XCONS (tail)->cdr) | 317 | for (tail = Vscreen_list; CONSP (tail); tail = XCONS (tail)->cdr) |
| 318 | { | 318 | { |
| 319 | if (passed) | 319 | if (passed) |
| 320 | if (!mini_screen | 320 | if (!mini_screen) |
| 321 | && EQ (XCONS (tail)->car, Vglobal_minibuffer_screen)) | 321 | { |
| 322 | continue; | 322 | SCREEN_PTR s = XSCREEN (XCONS (tail)->car); |
| 323 | |||
| 324 | if (EQ (XCONS (tail)->car, Vglobal_minibuffer_screen) | ||
| 325 | && EQ (s->root_window, s->minibuffer_window)) | ||
| 326 | continue; | ||
| 327 | } | ||
| 323 | else | 328 | else |
| 324 | return XCONS (tail)->car; | 329 | return XCONS (tail)->car; |
| 325 | 330 | ||
| @@ -354,8 +359,8 @@ prev_screen (screen, mini_screen) | |||
| 354 | DEFUN ("next-screen", Fnext_screen, Snext_screen, | 359 | DEFUN ("next-screen", Fnext_screen, Snext_screen, |
| 355 | 0, 2, 0, | 360 | 0, 2, 0, |
| 356 | "Return the next screen in the screen list after SCREEN.\n\ | 361 | "Return the next screen in the screen list after SCREEN.\n\ |
| 357 | If MINISCREEN is non-nil, include the global-minibuffer-screen if it\n\ | 362 | If MINISCREEN is non-nil, include screens whose only window is a minibuffer.\n\ |
| 358 | has its own screen.") | 363 | If MINISCREEN is nil or omitted, these screens are skipped.") |
| 359 | (screen, miniscreen) | 364 | (screen, miniscreen) |
| 360 | Lisp_Object screen, miniscreen; | 365 | Lisp_Object screen, miniscreen; |
| 361 | { | 366 | { |
| @@ -893,12 +898,11 @@ coordinates_in_window (w, x, y) | |||
| 893 | { | 898 | { |
| 894 | register int left = XINT (w->left); | 899 | register int left = XINT (w->left); |
| 895 | register int width = XINT (w->width); | 900 | register int width = XINT (w->width); |
| 896 | register int screen_height = XINT ((XSCREEN (w->screen)->height)); | ||
| 897 | register int window_height = XINT (w->height); | 901 | register int window_height = XINT (w->height); |
| 898 | register int top = XFASTINT (w->top); | 902 | register int top = XFASTINT (w->top); |
| 899 | 903 | ||
| 900 | if (*x < left || *x >= left + width | 904 | if (*x < left || *x >= left + width |
| 901 | || *y == screen_height || *y < top || *y > top + window_height - 1) | 905 | || *y < top || *y > top + window_height - 1) |
| 902 | return 0; | 906 | return 0; |
| 903 | 907 | ||
| 904 | if (*y == top + window_height - 1 | 908 | if (*y == top + window_height - 1 |