aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog4
-rw-r--r--src/xdisp.c13
2 files changed, 14 insertions, 3 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 9abbe450d3d..c6a23a773de 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -2,6 +2,10 @@
2 2
3 * xdisp.c (start_display): If the character at POS is displayed 3 * xdisp.c (start_display): If the character at POS is displayed
4 via a display vector, reset IT->current.dpvec_index to zero. 4 via a display vector, reset IT->current.dpvec_index to zero.
5 (try_window_reusing_current_matrix): If a line ends in a display
6 vector or the next line starts in a display vector, continue
7 redrawing the window even though the character position of
8 start_row was reached.
5 (Bug#9771, part 2) 9 (Bug#9771, part 2)
6 10
72011-10-18 Chong Yidong <cyd@gnu.org> 112011-10-18 Chong Yidong <cyd@gnu.org>
diff --git a/src/xdisp.c b/src/xdisp.c
index 50ddd6b08b8..0757feed1d9 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -16078,13 +16078,20 @@ try_window_reusing_current_matrix (struct window *w)
16078 16078
16079 start_vpos = MATRIX_ROW_VPOS (start_row, w->current_matrix); 16079 start_vpos = MATRIX_ROW_VPOS (start_row, w->current_matrix);
16080 } 16080 }
16081 /* If we have reached alignment, 16081 /* If we have reached alignment, we can copy the rest of the
16082 we can copy the rest of the rows. */ 16082 rows. */
16083 if (IT_CHARPOS (it) == CHARPOS (start)) 16083 if (IT_CHARPOS (it) == CHARPOS (start)
16084 /* Don't accept "alignment" inside a display vector,
16085 since start_row could have started in the middle of
16086 that same display vector (thus their character
16087 positions match), and we have no way of telling if
16088 that is the case. */
16089 && it.current.dpvec_index < 0)
16084 break; 16090 break;
16085 16091
16086 if (display_line (&it)) 16092 if (display_line (&it))
16087 last_text_row = it.glyph_row - 1; 16093 last_text_row = it.glyph_row - 1;
16094
16088 } 16095 }
16089 16096
16090 /* A value of current_y < last_visible_y means that we stopped 16097 /* A value of current_y < last_visible_y means that we stopped