From 7061c986301ecc3d69c73a9d8b6a51299bd4fb6a Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Sat, 8 Oct 2011 15:03:43 +0200 Subject: [PATCH] Fix cursor positioning in hscrolled lines with R2L characters. src/xdisp.c (set_cursor_from_row): Fix cursor positioning in mixed L2R+R2L lines that are hscrolled on the left. --- src/ChangeLog | 2 ++ src/xdisp.c | 6 +++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/ChangeLog b/src/ChangeLog index 3f93987c0f1..4409d5e7f60 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -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) diff --git a/src/xdisp.c b/src/xdisp.c index 2fff6d9518c..e7fc1b4b37e 100644 --- a/src/xdisp.c +++ b/src/xdisp.c @@ -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) -- 2.11.4.GIT