diff options
author | Bram Moolenaar <Bram@vim.org> | 2017-12-21 20:27:47 +0100 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2017-12-21 20:27:47 +0100 |
commit | b73fa629d6d3d705c1f8e8d5f8109fc9abd7bb6f (patch) | |
tree | 9969ba546d128ada78ef1cb7603caa135b4df255 /src | |
parent | ae6f8651251013bafef9de1aed09069deaae8122 (diff) |
patch 8.0.1419: cursor column is not updated after ]sv8.0.1419
Problem: Cursor column is not updated after ]s. (Gary Johnson)
Solution: Set the curswant flag.
Diffstat (limited to 'src')
-rw-r--r-- | src/evalfunc.c | 3 | ||||
-rw-r--r-- | src/normal.c | 2 | ||||
-rw-r--r-- | src/testdir/test_spell.vim | 31 | ||||
-rw-r--r-- | src/version.c | 2 |
4 files changed, 38 insertions, 0 deletions
diff --git a/src/evalfunc.c b/src/evalfunc.c index 7f78a9d707..764a4db641 100644 --- a/src/evalfunc.c +++ b/src/evalfunc.c @@ -11173,7 +11173,10 @@ f_spellbadword(typval_T *argvars UNUSED, typval_T *rettv) /* Find the start and length of the badly spelled word. */ len = spell_move_to(curwin, FORWARD, TRUE, TRUE, &attr); if (len != 0) + { word = ml_get_cursor(); + curwin->w_set_curswant = TRUE; + } } else if (curwin->w_p_spell && *curbuf->b_s.b_p_spl != NUL) { diff --git a/src/normal.c b/src/normal.c index a8e65ffd62..745a2f68ce 100644 --- a/src/normal.c +++ b/src/normal.c @@ -6814,6 +6814,8 @@ nv_brackets(cmdarg_T *cap) clearopbeep(cap->oap); break; } + else + curwin->w_set_curswant = TRUE; # ifdef FEAT_FOLDING if (cap->oap->op_type == OP_NOP && (fdo_flags & FDO_SEARCH) && KeyTyped) foldOpenCursor(); diff --git a/src/testdir/test_spell.vim b/src/testdir/test_spell.vim index 54209fec72..3e8ba1defa 100644 --- a/src/testdir/test_spell.vim +++ b/src/testdir/test_spell.vim @@ -28,6 +28,37 @@ func Test_wrap_search() set nospell endfunc +func Test_curswant() + new + call setline(1, ['Another plong line', 'abcdefghijklmnopq']) + set spell wrapscan + normal 0]s + call assert_equal('plong', expand('<cword>')) + normal j + call assert_equal(9, getcurpos()[2]) + normal 0[s + call assert_equal('plong', expand('<cword>')) + normal j + call assert_equal(9, getcurpos()[2]) + + normal 0]S + call assert_equal('plong', expand('<cword>')) + normal j + call assert_equal(9, getcurpos()[2]) + normal 0[S + call assert_equal('plong', expand('<cword>')) + normal j + call assert_equal(9, getcurpos()[2]) + + normal 1G0 + call assert_equal('plong', spellbadword()[0]) + normal j + call assert_equal(9, getcurpos()[2]) + + bwipe! + set nospell +endfunc + func Test_z_equal_on_invalid_utf8_word() split set spell diff --git a/src/version.c b/src/version.c index 9f034d78c6..6ae2135355 100644 --- a/src/version.c +++ b/src/version.c @@ -772,6 +772,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 1419, +/**/ 1418, /**/ 1417, |