# HG changeset patch # User Richard M. Stallman # Date 1040494194 0 # Node ID 3dc2b58e6dda6f22b4d9cc1ae1bc90980d85e42b # Parent f1010d7b4fd942856b59d554cb96dd528dce1763 (row_containing_pos): Change exit test using last_y. (try_window_id): Abort if row_containing_pos returns null. diff -r f1010d7b4fd9 -r 3dc2b58e6dda src/xdisp.c --- a/src/xdisp.c Sat Dec 21 18:06:27 2002 +0000 +++ b/src/xdisp.c Sat Dec 21 18:09:54 2002 +0000 @@ -861,9 +861,11 @@ 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 @@ /* 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 @@ 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 @@ 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; } }