summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2023-01-28 16:37:37 +0000
committerBram Moolenaar <Bram@vim.org>2023-01-28 16:37:37 +0000
commit8fe5b9c8c1223861cec0484ccc031858ae08d107 (patch)
tree6b267236c05d21fbdfcd0b7ec5400acca4a38249
parentd0200c8631582bbb16a9b585e2ca7adccc84ccdd (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.c2
-rw-r--r--src/testdir/test_virtualedit.vim13
-rw-r--r--src/version.c2
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,