Mercurial > emacs
changeset 66563:50f828c2b337
(display_line): Restore it->current_x and call
extend_face_to_end_of_line when last glyph doesn't fit on line.
(set_glyph_string_background_width): Remove specific tests here
to see if face background should extend to end of line. Simplify.
author | Kim F. Storm <storm@cua.dk> |
---|---|
date | Sun, 30 Oct 2005 20:08:09 +0000 |
parents | 2b1397553d1d |
children | 68bb9e8a5390 |
files | src/xdisp.c |
diffstat | 1 files changed, 9 insertions(+), 11 deletions(-) [+] |
line wrap: on
line diff
--- a/src/xdisp.c Sun Oct 30 20:07:50 2005 +0000 +++ b/src/xdisp.c Sun Oct 30 20:08:09 2005 +0000 @@ -15679,7 +15679,9 @@ produce_special_glyphs (it, IT_CONTINUATION); row->continued_p = 1; + it->current_x = x_before; it->continuation_lines_width += x; + extend_face_to_end_of_line (it); if (nglyphs > 1 && i > 0) { @@ -16214,7 +16216,7 @@ while (CONSP (tail)) { tem = XCAR (tail); - + if (EQ (elt, tem)) { /* Splice out the link TAIL. */ @@ -18778,19 +18780,15 @@ { /* If the face of this glyph string has to be drawn to the end of the drawing area, set S->extends_to_end_of_line_p. */ - struct face *default_face = FACE_FROM_ID (s->f, DEFAULT_FACE_ID); if (start == s->row->used[s->area] && s->area == TEXT_AREA - && ((s->hl == DRAW_NORMAL_TEXT - && (s->row->fill_line_p - || s->face->background != default_face->background - || s->face->stipple != default_face->stipple - || s->row->mouse_face_p)) - || s->hl == DRAW_MOUSE_FACE - || ((s->hl == DRAW_IMAGE_RAISED || s->hl == DRAW_IMAGE_SUNKEN) - && s->row->fill_line_p))) - s->extends_to_end_of_line_p = 1; + && ((s->row->fill_line_p + && (s->hl == DRAW_NORMAL_TEXT + || s->hl == DRAW_IMAGE_RAISED + || s->hl == DRAW_IMAGE_SUNKEN)) + || s->hl == DRAW_MOUSE_FACE)) + s->extends_to_end_of_line_p = 1; /* If S extends its face to the end of the line, set its background_width to the distance to the right edge of the drawing