diff options
author | Bram Moolenaar <Bram@vim.org> | 2023-01-28 16:37:37 +0000 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2023-01-28 16:37:37 +0000 |
commit | 8fe5b9c8c1223861cec0484ccc031858ae08d107 (patch) | |
tree | 6b267236c05d21fbdfcd0b7ec5400acca4a38249 | |
parent | d0200c8631582bbb16a9b585e2ca7adccc84ccdd (diff) |
patch 9.0.1255: changing 'virtualedit' does not have immediate effectv9.0.1255
Problem: Changing 'virtualedit' does not have immediate effect.
Solution: Correct how is checked for a changed value. (closes #11878)
-rw-r--r-- | src/optionstr.c | 2 | ||||
-rw-r--r-- | src/testdir/test_virtualedit.vim | 13 | ||||
-rw-r--r-- | src/version.c | 2 |
3 files changed, 16 insertions, 1 deletions
diff --git a/src/optionstr.c b/src/optionstr.c index 29f7f87ce5..0eb9f5b742 100644 --- a/src/optionstr.c +++ b/src/optionstr.c @@ -2078,7 +2078,7 @@ did_set_string_option( { if (opt_strings_flags(ve, p_ve_values, flags, TRUE) != OK) errmsg = e_invalid_argument; - else if (STRCMP(p_ve, oldval) != 0) + else if (STRCMP(ve, oldval) != 0) { // Recompute cursor position in case the new 've' setting // changes something. diff --git a/src/testdir/test_virtualedit.vim b/src/testdir/test_virtualedit.vim index 8ca81a777d..7ad54db2f8 100644 --- a/src/testdir/test_virtualedit.vim +++ b/src/testdir/test_virtualedit.vim @@ -537,6 +537,19 @@ func Test_global_local_virtualedit() set virtualedit& endfunc +func Test_virtualedit_setlocal() + enew + setglobal virtualedit=all + setlocal virtualedit=all + normal! l + redraw + setlocal virtualedit=none + call assert_equal(1, wincol()) + + setlocal virtualedit& + set virtualedit& +endfunc + func Test_virtualedit_mouse() let save_mouse = &mouse set mouse=a diff --git a/src/version.c b/src/version.c index a6534c209c..b99641f5ba 100644 --- a/src/version.c +++ b/src/version.c @@ -696,6 +696,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 1255, +/**/ 1254, /**/ 1253, |