]> granicus.if.org Git - vim/commitdiff
patch 8.0.1419: cursor column is not updated after ]s v8.0.1419
authorBram Moolenaar <Bram@vim.org>
Thu, 21 Dec 2017 19:27:47 +0000 (20:27 +0100)
committerBram Moolenaar <Bram@vim.org>
Thu, 21 Dec 2017 19:27:47 +0000 (20:27 +0100)
Problem:    Cursor column is not updated after ]s. (Gary Johnson)
Solution:   Set the curswant flag.

src/evalfunc.c
src/normal.c
src/testdir/test_spell.vim
src/version.c

index 7f78a9d7079f16d82b0884bebe21fa949c1a0039..764a4db641defcfcdc46e76fe29a041949587090 100644 (file)
@@ -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)
     {
index a8e65ffd629643d9f7ad59220c0cad80fcf26543..745a2f68ce7cfd7a525c7cec767b7c492a311c42 100644 (file)
@@ -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();
index 54209fec724e88e2de00e93aa6161d6d498e7a0e..3e8ba1defa320854d2b2e5fa9d50fdfcbc32c3a4 100644 (file)
@@ -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
index 9f034d78c6dc07aded5d61feb273fae01f68912c..6ae2135355333b61ed66a2ab2ad1aff06796ff4e 100644 (file)
@@ -771,6 +771,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    1419,
 /**/
     1418,
 /**/