emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

master 99271ea: Fix display of R2L text


From: Eli Zaretskii
Subject: master 99271ea: Fix display of R2L text
Date: Sat, 16 Nov 2019 14:38:45 -0500 (EST)

branch: master
commit 99271ea8de589f2ca5475ab02393c424295ff1f2
Author: Eli Zaretskii <address@hidden>
Commit: Eli Zaretskii <address@hidden>

    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 8aefab9..c5676b3 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;



reply via email to

[Prev in Thread] Current Thread [Next in Thread]