aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/nvim/ops.c22
-rw-r--r--src/nvim/testdir/test_increment.vim17
-rw-r--r--src/nvim/version.c4
3 files changed, 21 insertions, 22 deletions
diff --git a/src/nvim/ops.c b/src/nvim/ops.c
index c8894d6a91..71c4fa629e 100644
--- a/src/nvim/ops.c
+++ b/src/nvim/ops.c
@@ -4181,23 +4181,6 @@ static void block_prep(oparg_T *oap, struct block_def *bdp, linenr_T lnum, int i
bdp->textstart = pstart;
}
-
-static void reverse_line(char_u *s)
-{
- int i, j;
- char_u c;
-
- if ((i = (int)STRLEN(s) - 1) <= 0)
- return;
-
- curwin->w_cursor.col = i - curwin->w_cursor.col;
- for (j = 0; j < i; j++, i--) {
- c = s[i]; s[i] = s[j]; s[j] = c;
- }
-}
-
-# define RLADDSUBFIX(ptr) if (curwin->w_p_rl) reverse_line(ptr);
-
/// Add or subtract from a number in a line.
///
/// @param command CTRL-A for add, CTRL-X for subtract
@@ -4249,7 +4232,6 @@ int do_addsub(int command, linenr_T Prenum1, bool g_cmd)
}
ptr = ml_get(VIsual.lnum);
- RLADDSUBFIX(ptr);
if (VIsual_mode == 'V') {
VIsual.col = 0;
curwin->w_cursor.col = STRLEN(ptr);
@@ -4278,7 +4260,6 @@ int do_addsub(int command, linenr_T Prenum1, bool g_cmd)
lnume = curwin->w_cursor.lnum;
} else {
ptr = get_cursor_line_ptr();
- RLADDSUBFIX(ptr);
if (dobin) {
while (col > 0 && ascii_isbdigit(ptr[col])) {
@@ -4345,7 +4326,6 @@ int do_addsub(int command, linenr_T Prenum1, bool g_cmd)
t = curwin->w_cursor;
curwin->w_cursor.lnum = i;
ptr = get_cursor_line_ptr();
- RLADDSUBFIX(ptr);
if ((int)STRLEN(ptr) <= col) {
// try again on next line
continue;
@@ -4601,8 +4581,6 @@ int do_addsub(int command, linenr_T Prenum1, bool g_cmd)
}
Prenum1 += offset;
curwin->w_set_curswant = true;
- ptr = ml_get_buf(curbuf, curwin->w_cursor.lnum, true);
- RLADDSUBFIX(ptr);
}
if (visual) {
// cursor at the top of the selection
diff --git a/src/nvim/testdir/test_increment.vim b/src/nvim/testdir/test_increment.vim
index ab75c1c6eb..277f71d8a4 100644
--- a/src/nvim/testdir/test_increment.vim
+++ b/src/nvim/testdir/test_increment.vim
@@ -558,4 +558,21 @@ func Test_visual_increment_26()
call assert_equal([0, 1, 1, 0], getpos('.'))
endfunc
+" 27) increment with 'rightreft', if supported
+func Test_visual_increment_27()
+ if exists('+rightleft')
+ set rightleft
+ call setline(1, ["1234 56"])
+
+ exec "norm! $\<C-A>"
+ call assert_equal(["1234 57"], getline(1, '$'))
+ call assert_equal([0, 1, 7, 0], getpos('.'))
+
+ exec "norm! \<C-A>"
+ call assert_equal(["1234 58"], getline(1, '$'))
+ call assert_equal([0, 1, 7, 0], getpos('.'))
+ set norightleft
+ endif
+endfunc
+
" vim: tabstop=2 shiftwidth=2 expandtab
diff --git a/src/nvim/version.c b/src/nvim/version.c
index 659d1a59f4..0cc6719f63 100644
--- a/src/nvim/version.c
+++ b/src/nvim/version.c
@@ -79,6 +79,10 @@ static int included_patches[] = {
+ 1076,
+ // 1075,
+ // 1074,
+ // 1073,
1072,
// 1071,
// 1070,