diff options
author | Eli Zaretskii <eliz@gnu.org> | 2015-01-17 20:32:16 +0200 |
---|---|---|
committer | Eli Zaretskii <eliz@gnu.org> | 2015-01-17 20:32:16 +0200 |
commit | e6518fc8f5afca5d71582aabb089147cba583966 (patch) | |
tree | 68975fea40e5e98bf689323fcb3c260016ad5c83 /src | |
parent | b0af6745d6dfc19cdbeac2b6c34087a44c9f03fd (diff) | |
download | emacs-e6518fc8f5afca5d71582aabb089147cba583966.tar.gz |
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.
Diffstat (limited to 'src')
-rw-r--r-- | src/ChangeLog | 6 | ||||
-rw-r--r-- | src/xdisp.c | 9 |
2 files changed, 15 insertions, 0 deletions
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 <eliz@gnu.org> + + * 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 <eliz@gnu.org> * 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); |