From: Eli Zaretskii Date: Sat, 17 Jan 2015 18:32:16 +0000 (+0200) Subject: Fix display of images in R2L screen lines X-Git-Tag: emacs-24.4.90~51 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=e6518fc;p=emacs.git Fix display of images in R2L screen lines src/xdisp.c (produce_image_glyph): Fix display of images in R2L screen lines: prepend the new glyph to the ones already there instead of appending it. --- diff --git a/src/ChangeLog b/src/ChangeLog index a90cc41e601..ad4a85ae487 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,9 @@ +2015-01-17 Eli Zaretskii + + * xdisp.c (produce_image_glyph): Fix display of images in R2L + screen lines: prepend the new glyph to the ones already there + instead of appending it. + 2015-01-14 Eli Zaretskii * w32fns.c (w32_set_title_bar_text): New function, including diff --git a/src/xdisp.c b/src/xdisp.c index a1cc286512b..b1125d324c2 100644 --- a/src/xdisp.c +++ b/src/xdisp.c @@ -25428,6 +25428,15 @@ produce_image_glyph (struct it *it) enum glyph_row_area area = it->area; glyph = it->glyph_row->glyphs[area] + it->glyph_row->used[area]; + if (it->glyph_row->reversed_p) + { + struct glyph *g; + + /* Make room for the new glyph. */ + for (g = glyph - 1; g >= it->glyph_row->glyphs[it->area]; g--) + g[1] = *g; + glyph = it->glyph_row->glyphs[it->area]; + } if (glyph < it->glyph_row->glyphs[area + 1]) { glyph->charpos = CHARPOS (it->position);