diff --git a/src/ChangeLog b/src/ChangeLog index 5589b7f34a2..62337d8db63 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,8 @@ +2010-01-23 YAMAMOTO Mitsuharu + + * xdisp.c (draw_glyphs): Update `start' for left_overwritten case + as in Emacs 22. + 2010-01-22 YAMAMOTO Mitsuharu * lisp.h (make_pure_string): String pointer arg now points to const. diff --git a/src/xdisp.c b/src/xdisp.c index 7d43f2d8bef..8e356224c8a 100644 --- a/src/xdisp.c +++ b/src/xdisp.c @@ -20401,6 +20401,7 @@ draw_glyphs (w, x, row, area, start, end, hl, overlaps) j = i; BUILD_GLYPH_STRINGS (j, start, h, t, overlap_hl, dummy_x, last_x); + start = i; compute_overhangs_and_x (t, head->x, 1); prepend_glyph_string_lists (&head, &tail, h, t); clip_head = head; @@ -20450,6 +20451,8 @@ draw_glyphs (w, x, row, area, start, end, hl, overlaps) BUILD_GLYPH_STRINGS (end, i, h, t, overlap_hl, x, last_x); + /* Because BUILD_GLYPH_STRINGS updates the first argument, + we don't have `end = i;' here. */ compute_overhangs_and_x (h, tail->x + tail->width, 0); append_glyph_string_lists (&head, &tail, h, t); clip_tail = tail;