]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix display of R2L continued lines in partial-width windows on a TTY.
authorEli Zaretskii <eliz@gnu.org>
Sat, 1 May 2010 10:49:09 +0000 (13:49 +0300)
committerEli Zaretskii <eliz@gnu.org>
Sat, 1 May 2010 10:49:09 +0000 (13:49 +0300)
 xdisp.c: (extend_face_to_end_of_line): In almost-filled rows, extend only
 if the row is R2L and not continued.

src/ChangeLog
src/xdisp.c

index 13b2a29e74da07461c5f5a1cf03362954889f90e..a5548ff16fcbfc317df67361b3344798bdcf7126 100644 (file)
@@ -2,6 +2,8 @@
 
        * xdisp.c (find_row_end): New function, refactored from display_line.
        (display_line): Use it.
+       (extend_face_to_end_of_line): In almost-filled rows, extend only
+       if the row is R2L and not continued.
 
 2010-04-27  Eli Zaretskii  <eliz@gnu.org>
 
index 017aa69002327ecddc520eece440c38795747812..45e6b83ec296590969903ad0afffe44d0f26e77e 100644 (file)
@@ -16948,8 +16948,13 @@ extend_face_to_end_of_line (it)
 
   /* If line is already filled, do nothing.  Non window-system frames
      get a grace of one more ``pixel'' because their characters are
-     1-``pixel'' wide, so they hit the equality too early.  */
-  if (it->current_x >= it->last_visible_x + !FRAME_WINDOW_P (f))
+     1-``pixel'' wide, so they hit the equality too early.  This grace
+     is needed only for R2L rows that are not continued, to produce
+     one extra blank where we could display the cursor.  */
+  if (it->current_x >= it->last_visible_x
+      + (!FRAME_WINDOW_P (f)
+        && it->glyph_row->reversed_p
+        && !it->glyph_row->continued_p))
     return;
 
   /* Face extension extends the background and box of IT->face_id