Fix bug #10035 with assertion violation in row_equal_p.
src/xdisp.c (display_line): Move the call to highlight_trailing_whitespace before the call to compute_line_metrics, since the latter needs to see the final faces of all the glyphs to compute ROW's hash value. Fixes assertion violations in row_equal_p.
This commit is contained in:
parent
f067b8ecca
commit
322ad6ec0e
2 changed files with 17 additions and 4 deletions
|
@ -1,3 +1,11 @@
|
|||
2011-11-14 Eli Zaretskii <eliz@gnu.org>
|
||||
|
||||
* xdisp.c (display_line): Move the call to
|
||||
highlight_trailing_whitespace before the call to
|
||||
compute_line_metrics, since the latter needs to see the final
|
||||
faces of all the glyphs to compute ROW's hash value. Fixes
|
||||
assertion violations in row_equal_p. (Bug#10035)
|
||||
|
||||
2011-11-14 Juanma Barranquero <lekktu@gmail.com>
|
||||
|
||||
* w32proc.c (reader_thread): Don't check pending input if cp->fd < 0,
|
||||
|
|
13
src/xdisp.c
13
src/xdisp.c
|
@ -19382,9 +19382,18 @@ display_line (struct it *it)
|
|||
overlay_arrow_seen = 1;
|
||||
}
|
||||
|
||||
/* Highlight trailing whitespace. */
|
||||
if (!NILP (Vshow_trailing_whitespace))
|
||||
highlight_trailing_whitespace (it->f, it->glyph_row);
|
||||
|
||||
/* Compute pixel dimensions of this line. */
|
||||
compute_line_metrics (it);
|
||||
|
||||
/* Implementation note: No changes in the glyphs of ROW or in their
|
||||
faces can be done past this point, because compute_line_metrics
|
||||
computes ROW's hash value and stores it within the glyph_row
|
||||
structure. */
|
||||
|
||||
/* Record whether this row ends inside an ellipsis. */
|
||||
row->ends_in_ellipsis_p
|
||||
= (it->method == GET_FROM_DISPLAY_VECTOR
|
||||
|
@ -19419,10 +19428,6 @@ display_line (struct it *it)
|
|||
&& cursor_row_p (row))
|
||||
set_cursor_from_row (it->w, row, it->w->desired_matrix, 0, 0, 0, 0);
|
||||
|
||||
/* Highlight trailing whitespace. */
|
||||
if (!NILP (Vshow_trailing_whitespace))
|
||||
highlight_trailing_whitespace (it->f, it->glyph_row);
|
||||
|
||||
/* Prepare for the next line. This line starts horizontally at (X
|
||||
HPOS) = (0 0). Vertical positions are incremented. As a
|
||||
convenience for the caller, IT->glyph_row is set to the next
|
||||
|
|
Loading…
Add table
Reference in a new issue