# HG changeset patch # User Kim F. Storm # Date 1130702889 0 # Node ID 50f828c2b33759a69b01f2d2dfef23adf3d64732 # Parent 2b1397553d1dc3a0326e3a3ade432b4c439e55b7 (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. diff -r 2b1397553d1d -r 50f828c2b337 src/xdisp.c --- 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