Mercurial > emacs
comparison src/xdisp.c @ 30136:8dc78ef485a4
(try_window_id): If changes are all below what is
displayed in the window, and point is in the window, we still
might have to find point on the display.
author | Gerd Moellmann <gerd@gnu.org> |
---|---|
date | Mon, 10 Jul 2000 20:31:22 +0000 |
parents | e4256ac89b92 |
children | 1b0331a7c724 |
comparison
equal
deleted
inserted
replaced
30135:b935180b3893 | 30136:8dc78ef485a4 |
---|---|
9081 know that the same window start will not work. It is 0 | 9081 know that the same window start will not work. It is 0 |
9082 if unsuccessful for some other reason. */ | 9082 if unsuccessful for some other reason. */ |
9083 && (tem = try_window_id (w)) != 0) | 9083 && (tem = try_window_id (w)) != 0) |
9084 { | 9084 { |
9085 #if GLYPH_DEBUG | 9085 #if GLYPH_DEBUG |
9086 debug_method_add (w, "try_window_id"); | 9086 debug_method_add (w, "try_window_id %d", tem); |
9087 #endif | 9087 #endif |
9088 | 9088 |
9089 if (fonts_changed_p) | 9089 if (fonts_changed_p) |
9090 goto restore_buffers; | 9090 goto restore_buffers; |
9091 if (tem > 0) | 9091 if (tem > 0) |
9092 goto done; | 9092 goto done; |
9093 | |
9093 /* Otherwise try_window_id has returned -1 which means that we | 9094 /* Otherwise try_window_id has returned -1 which means that we |
9094 don't want the alternative below this comment to execute. */ | 9095 don't want the alternative below this comment to execute. */ |
9095 } | 9096 } |
9096 else if (CHARPOS (startp) >= BEGV | 9097 else if (CHARPOS (startp) >= BEGV |
9097 && CHARPOS (startp) <= ZV | 9098 && CHARPOS (startp) <= ZV |
10228 size has changed. */ | 10229 size has changed. */ |
10229 w->window_end_pos | 10230 w->window_end_pos |
10230 = make_number (Z - MATRIX_ROW_END_CHARPOS (row)); | 10231 = make_number (Z - MATRIX_ROW_END_CHARPOS (row)); |
10231 w->window_end_bytepos | 10232 w->window_end_bytepos |
10232 = Z_BYTE - MATRIX_ROW_END_BYTEPOS (row); | 10233 = Z_BYTE - MATRIX_ROW_END_BYTEPOS (row); |
10233 return 1; | 10234 |
10235 row = MATRIX_FIRST_TEXT_ROW (w->current_matrix); | |
10236 row = row_containing_pos (w, PT, row, NULL); | |
10237 set_cursor_from_row (w, row, w->current_matrix, 0, 0, 0, 0); | |
10238 return 2; | |
10234 } | 10239 } |
10235 | 10240 |
10236 /* Check that window start agrees with the start of the first glyph | 10241 /* Check that window start agrees with the start of the first glyph |
10237 row in its current matrix. Check this after we know the window | 10242 row in its current matrix. Check this after we know the window |
10238 start is not in changed text, otherwise positions would not be | 10243 start is not in changed text, otherwise positions would not be |
10659 debug_end_vpos = XFASTINT (w->window_end_vpos)); | 10664 debug_end_vpos = XFASTINT (w->window_end_vpos)); |
10660 | 10665 |
10661 /* Record that display has not been completed. */ | 10666 /* Record that display has not been completed. */ |
10662 w->window_end_valid = Qnil; | 10667 w->window_end_valid = Qnil; |
10663 w->desired_matrix->no_scrolling_p = 1; | 10668 w->desired_matrix->no_scrolling_p = 1; |
10664 return 1; | 10669 return 3; |
10665 } | 10670 } |
10666 | 10671 |
10667 | 10672 |
10668 | 10673 |
10669 /*********************************************************************** | 10674 /*********************************************************************** |