Mercurial > vim
changeset 31845:2ce8e7c4acf4 v9.0.1255
patch 9.0.1255: changing 'virtualedit' does not have immediate effect
Commit: https://github.com/vim/vim/commit/8fe5b9c8c1223861cec0484ccc031858ae08d107
Author: Bram Moolenaar <Bram@vim.org>
Date: Sat Jan 28 16:37:37 2023 +0000
patch 9.0.1255: changing 'virtualedit' does not have immediate effect
Problem: Changing 'virtualedit' does not have immediate effect.
Solution: Correct how is checked for a changed value. (closes https://github.com/vim/vim/issues/11878)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sat, 28 Jan 2023 17:45:03 +0100 |
parents | c049b6f34639 |
children | d16405cfcc8b |
files | src/optionstr.c src/testdir/test_virtualedit.vim src/version.c |
diffstat | 3 files changed, 16 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- 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.
--- 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