From 99271ea8de589f2ca5475ab02393c424295ff1f2 Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Sat, 16 Nov 2019 21:37:41 +0200 Subject: [PATCH] Fix display of R2L text * src/xdisp.c (extend_face_to_end_of_line): Fix padding of R2L screen lines with stretch glyph on the left. (Bug#38233) --- src/xdisp.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/src/xdisp.c b/src/xdisp.c index 8aefab964a8..c5676b3e174 100644 --- a/src/xdisp.c +++ b/src/xdisp.c @@ -21719,13 +21719,17 @@ extend_face_to_end_of_line (struct it *it) } } - /* Fill space until window edge with the merged face. */ - const int stretch_width = it->last_visible_x - it->current_x; + /* Fill space until window edge with the merged face. Do that + only for L2R rows, as R2L rows are handled specially below. */ + if (!it->glyph_row->reversed_p) + { + const int stretch_width = it->last_visible_x - it->current_x; - if (stretch_width > 0) - append_stretch_glyph (it, Qnil, stretch_width, - it->ascent + it->descent, - stretch_ascent); + if (stretch_width > 0) + append_stretch_glyph (it, Qnil, stretch_width, + it->ascent + it->descent, + stretch_ascent); + } it->char_to_display = saved_char; it->position = saved_pos; -- 2.39.5