[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] /srv/bzr/emacs/trunk r106133: Followup to revision 106131.
From: |
Eli Zaretskii |
Subject: |
[Emacs-diffs] /srv/bzr/emacs/trunk r106133: Followup to revision 106131. |
Date: |
Wed, 19 Oct 2011 13:46:17 +0200 |
User-agent: |
Bazaar (2.3.1) |
------------------------------------------------------------
revno: 106133
fixes bug(s): http://debbugs.gnu.org/9771
committer: Eli Zaretskii <address@hidden>
branch nick: trunk
timestamp: Wed 2011-10-19 13:46:17 +0200
message:
Followup to revision 106131.
src/xdisp.c (try_window_reusing_current_matrix): If a line ends in a display
vector or the next line starts in a display vector, continue
redrawing the window even though the character position of
start_row was reached.
modified:
src/ChangeLog
src/xdisp.c
=== modified file 'src/ChangeLog'
--- a/src/ChangeLog 2011-10-19 09:48:35 +0000
+++ b/src/ChangeLog 2011-10-19 11:46:17 +0000
@@ -2,6 +2,10 @@
* xdisp.c (start_display): If the character at POS is displayed
via a display vector, reset IT->current.dpvec_index to zero.
+ (try_window_reusing_current_matrix): If a line ends in a display
+ vector or the next line starts in a display vector, continue
+ redrawing the window even though the character position of
+ start_row was reached.
(Bug#9771, part 2)
2011-10-18 Chong Yidong <address@hidden>
=== modified file 'src/xdisp.c'
--- a/src/xdisp.c 2011-10-19 09:48:35 +0000
+++ b/src/xdisp.c 2011-10-19 11:46:17 +0000
@@ -16078,13 +16078,20 @@
start_vpos = MATRIX_ROW_VPOS (start_row, w->current_matrix);
}
- /* If we have reached alignment,
- we can copy the rest of the rows. */
- if (IT_CHARPOS (it) == CHARPOS (start))
+ /* If we have reached alignment, we can copy the rest of the
+ rows. */
+ if (IT_CHARPOS (it) == CHARPOS (start)
+ /* Don't accept "alignment" inside a display vector,
+ since start_row could have started in the middle of
+ that same display vector (thus their character
+ positions match), and we have no way of telling if
+ that is the case. */
+ && it.current.dpvec_index < 0)
break;
if (display_line (&it))
last_text_row = it.glyph_row - 1;
+
}
/* A value of current_y < last_visible_y means that we stopped
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] /srv/bzr/emacs/trunk r106133: Followup to revision 106131.,
Eli Zaretskii <=