diff options
| author | Gerd Moellmann | 2000-07-10 20:31:22 +0000 |
|---|---|---|
| committer | Gerd Moellmann | 2000-07-10 20:31:22 +0000 |
| commit | ef12165928480dc7a4c59580ac1aea400d55003e (patch) | |
| tree | e7c4d795200766d165968f20d2ec1fd35980091e /src | |
| parent | df75b1a379309fcc6273081e18fa450b792b720d (diff) | |
| download | emacs-ef12165928480dc7a4c59580ac1aea400d55003e.tar.gz emacs-ef12165928480dc7a4c59580ac1aea400d55003e.zip | |
(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.
Diffstat (limited to 'src')
| -rw-r--r-- | src/xdisp.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/xdisp.c b/src/xdisp.c index b9941f956ff..3fca7c5c5d1 100644 --- a/src/xdisp.c +++ b/src/xdisp.c | |||
| @@ -9083,13 +9083,14 @@ redisplay_window (window, just_this_one_p) | |||
| 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 | } |
| @@ -10230,7 +10231,11 @@ try_window_id (w) | |||
| 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 |
| @@ -10661,7 +10666,7 @@ try_window_id (w) | |||
| 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 | ||