summaryrefslogtreecommitdiff
path: root/src/screen.c
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2016-01-15 22:52:22 +0100
committerBram Moolenaar <Bram@vim.org>2016-01-15 22:52:22 +0100
commite39b3d9fb4e4006684c33847d1ef6a0d742699dd (patch)
tree70127d1e23c3a5cfdf53635c2d4b450b504ca644 /src/screen.c
parentabfa9efb983c6fe9f5c4c342ff4d7017ce9a2c4b (diff)
downloadvim-e39b3d9fb4e4006684c33847d1ef6a0d742699dd.zip
patch 7.4.1101
Problem: With 'rightleft' and concealing the cursor may move to the wrong position. Solution: Compute the column differently when 'rightleft' is set. (Hirohito Higashi)
Diffstat (limited to 'src/screen.c')
-rw-r--r--src/screen.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/screen.c b/src/screen.c
index 5610d8a96..d34c4b2f2 100644
--- a/src/screen.c
+++ b/src/screen.c
@@ -4976,7 +4976,12 @@ win_line(wp, lnum, startrow, endrow, nochange)
&& conceal_cursor_line(wp)
&& (int)wp->w_virtcol <= vcol + n_skip)
{
- wp->w_wcol = col - boguscols;
+# ifdef FEAT_RIGHTLEFT
+ if (wp->w_p_rl)
+ wp->w_wcol = W_WIDTH(wp) - col + boguscols - 1;
+ else
+# endif
+ wp->w_wcol = col - boguscols;
wp->w_wrow = row;
did_wcol = TRUE;
}