]> granicus.if.org Git - vim/commitdiff
patch 9.0.1255: changing 'virtualedit' does not have immediate effect v9.0.1255
authorBram Moolenaar <Bram@vim.org>
Sat, 28 Jan 2023 16:37:37 +0000 (16:37 +0000)
committerBram Moolenaar <Bram@vim.org>
Sat, 28 Jan 2023 16:37:37 +0000 (16:37 +0000)
Problem:    Changing 'virtualedit' does not have immediate effect.
Solution:   Correct how is checked for a changed value. (closes #11878)

src/optionstr.c
src/testdir/test_virtualedit.vim
src/version.c

index 29f7f87ce552f19f3b9e6c3ae3f5881796c773fb..0eb9f5b742c446d96bcaa8cf3da996d23b27db8a 100644 (file)
@@ -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.
index 8ca81a777d2622892ce2bb003c48733c0bfc2dc3..7ad54db2f8adca1a642fbc39c684f5d88c8e6e14 100644 (file)
@@ -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
index a6534c209cfc8e9588c9edcac3c4278e63325eaa..b99641f5ba39dc16ff6850fb8c412d6b8006cfa0 100644 (file)
@@ -695,6 +695,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    1255,
 /**/
     1254,
 /**/