diff options
author | Christian Brabandt <cb@256bit.org> | 2021-06-16 19:28:34 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2021-06-16 19:28:34 +0200 |
commit | 29f0dc3689eafcf7888e06d57d1cf79e62c5c148 (patch) | |
tree | 218c3e329f5c8edccd1da7c94921858c3ea61321 | |
parent | 6bc30b05e6081bcaece6d1a7fcfca238ea5a194f (diff) |
patch 8.2.3012: when 'rightleft' is set the line number is drawn reversedv8.2.3012
Problem: When 'rightleft' is set the line number is sometimes drawn
reversed.
Solution: Adjust how space is handled. (Christian Brabandt, closes #8389,
closes #8391)
-rw-r--r-- | src/drawline.c | 5 | ||||
-rw-r--r-- | src/testdir/test_number.vim | 22 | ||||
-rw-r--r-- | src/version.c | 2 |
3 files changed, 27 insertions, 2 deletions
diff --git a/src/drawline.c b/src/drawline.c index 7b6777e64c..b1210b78f4 100644 --- a/src/drawline.c +++ b/src/drawline.c @@ -1121,8 +1121,9 @@ win_line( int t; // like rl_mirror(), but keep the space at the end - p2 = skiptowhite(extra) - 1; - for (p1 = extra; p1 < p2; ++p1, --p2) + p2 = skipwhite(extra); + p2 = skiptowhite(p2) - 1; + for (p1 = skipwhite(extra); p1 < p2; ++p1, --p2) { t = *p1; *p1 = *p2; diff --git a/src/testdir/test_number.vim b/src/testdir/test_number.vim index 93f8282e07..13f8de719d 100644 --- a/src/testdir/test_number.vim +++ b/src/testdir/test_number.vim @@ -298,4 +298,26 @@ func Test_relativenumber_colors() call delete('XTest_relnr') endfunc +" Test for displaying line numbers with 'rightleft' +func Test_number_rightleft() + CheckFeature rightleft + new + setlocal number + setlocal rightleft + call setline(1, range(1, 1000)) + normal! 9Gzt + redraw! + call assert_match('^\s\+9 9$', Screenline(1)) + normal! 10Gzt + redraw! + call assert_match('^\s\+01 10$', Screenline(1)) + normal! 100Gzt + redraw! + call assert_match('^\s\+001 100$', Screenline(1)) + normal! 1000Gzt + redraw! + call assert_match('^\s\+0001 1000$', Screenline(1)) + bw! +endfunc + " vim: shiftwidth=2 sts=2 expandtab diff --git a/src/version.c b/src/version.c index dbb6d7ecda..1b23c664d5 100644 --- a/src/version.c +++ b/src/version.c @@ -751,6 +751,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 3012, +/**/ 3011, /**/ 3010, |