Mercurial > vim
diff src/edit.c @ 25380:ac88cd21ae88 v8.2.3227
patch 8.2.3227: 'virtualedit' can only be set globally
Commit: https://github.com/vim/vim/commit/53ba05b09075f14227f9be831a22ed16f7cc26b2
Author: Gary Johnson <garyjohn@spocom.com>
Date: Mon Jul 26 22:19:10 2021 +0200
patch 8.2.3227: 'virtualedit' can only be set globally
Problem: 'virtualedit' can only be set globally.
Solution: Make 'virtualedit' global-local. (Gary Johnson, closes https://github.com/vim/vim/issues/8638)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Mon, 26 Jul 2021 22:30:05 +0200 |
parents | 890fd8211202 |
children | 0082503ff2ff |
line wrap: on
line diff
--- a/src/edit.c +++ b/src/edit.c @@ -861,7 +861,7 @@ doESCkey: ins_ctrl_o(); // don't move the cursor left when 'virtualedit' has "onemore". - if (ve_flags & VE_ONEMORE) + if (get_ve_flags() & VE_ONEMORE) { ins_at_eol = FALSE; nomove = TRUE; @@ -2673,7 +2673,7 @@ oneright(void) // move "l" bytes right, but don't end up on the NUL, unless 'virtualedit' // contains "onemore". - if (ptr[l] == NUL && (ve_flags & VE_ONEMORE) == 0) + if (ptr[l] == NUL && (get_ve_flags() & VE_ONEMORE) == 0) return FAIL; curwin->w_cursor.col += l; @@ -3656,7 +3656,7 @@ ins_esc( #endif ) { - if (curwin->w_cursor.coladd > 0 || ve_flags == VE_ALL) + if (curwin->w_cursor.coladd > 0 || get_ve_flags() == VE_ALL) { oneleft(); if (restart_edit != NUL)