From 40a301b3524036f179f3293e80304fd3f435624b Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Sat, 21 Dec 2002 18:09:54 +0000 Subject: [PATCH] (row_containing_pos): Change exit test using last_y. (try_window_id): Abort if row_containing_pos returns null. --- src/xdisp.c | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/src/xdisp.c b/src/xdisp.c index aff2421a1b7..b795a9ff998 100644 --- a/src/xdisp.c +++ b/src/xdisp.c @@ -861,9 +861,11 @@ static void display_tool_bar_line P_ ((struct it *)); Window display dimensions ***********************************************************************/ -/* Return the window-relative maximum y + 1 for glyph rows displaying - text in window W. This is the height of W minus the height of a - mode line, if any. */ +/* Return the bottom boundary y-position for text lines in window W. + This is the first y position at which a line cannot start. + It is relative to the top of the window. + + This is the height of W minus the height of a mode line, if any. */ INLINE int window_text_bottom_y (w) @@ -11514,7 +11516,10 @@ row_containing_pos (w, charpos, start, end, dy) /* Give up if we have gone too far. */ if (end && row >= end) return NULL; - if (MATRIX_ROW_BOTTOM_Y (row) >= last_y) + /* This formerly returned if they were equal. + I think that both quantities are of a "last plus one" type; + if so, when they are equal, the row is within the screen. -- rms. */ + if (MATRIX_ROW_BOTTOM_Y (row) > last_y) return NULL; /* If it is in this row, return this row. */ @@ -11734,6 +11739,8 @@ try_window_id (w) row = row_containing_pos (w, PT, r0, NULL, 0); if (row) set_cursor_from_row (w, row, current_matrix, 0, 0, 0, 0); + else + abort (); return 1; } } @@ -11773,6 +11780,8 @@ try_window_id (w) row = row_containing_pos (w, PT, r0, NULL, 0); if (row) set_cursor_from_row (w, row, current_matrix, 0, 0, 0, 0); + else + abort (); return 2; } } -- 2.11.4.GIT