Fix cursor positioning in hscrolled lines with R2L characters.
authorEli Zaretskii <eliz@gnu.org>
Sat, 8 Oct 2011 13:03:43 +0000 (15:03 +0200)
committerEli Zaretskii <eliz@gnu.org>
Sat, 8 Oct 2011 13:03:43 +0000 (15:03 +0200)
 src/xdisp.c (set_cursor_from_row): Fix cursor positioning in mixed L2R+R2L
 lines that are hscrolled on the left.

src/ChangeLog
src/xdisp.c

index 3f93987..4409d5e 100644 (file)
@@ -2,6 +2,8 @@
 
        * xdisp.c (hscroll_window_tree): Support hscroll in right-to-left
        lines.
+       (set_cursor_from_row): Fix cursor positioning in mixed L2R+R2L
+       lines that are hscrolled on the left.
 
        * dispnew.c (buffer_posn_from_coords): Account for a possible
        presence of header-line.  (Bug#4426)
index 2fff6d9..e7fc1b4 100644 (file)
@@ -13890,7 +13890,11 @@ set_cursor_from_row (struct window *w, struct glyph_row *row,
                               ? glyph_after > glyphs_end
                               : glyph_after < glyphs_end)))))
        {
-         cursor = glyph_after;
+         if (!match_with_avoid_cursor
+             && row->truncated_on_left_p && pt_old < bpos_min)
+           cursor = glyph_before;
+         else
+           cursor = glyph_after;
          x = -1;
        }
       else if (string_seen)