summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/misc2.c9
-rw-r--r--src/version.c2
2 files changed, 9 insertions, 2 deletions
diff --git a/src/misc2.c b/src/misc2.c
index 7f39723de..7cef2d38a 100644
--- a/src/misc2.c
+++ b/src/misc2.c
@@ -507,12 +507,17 @@ check_cursor_col()
curwin->w_cursor.col = 0;
else if (curwin->w_cursor.col >= len)
{
- /* Allow cursor past end-of-line in Insert mode, restarting Insert
- * mode or when in Visual mode and 'selection' isn't "old" */
+ /* Allow cursor past end-of-line when:
+ * - in Insert mode or restarting Insert mode
+ * - in Visual mode and 'selection' isn't "old"
+ * - 'virtualedit' is set */
if ((State & INSERT) || restart_edit
#ifdef FEAT_VISUAL
|| (VIsual_active && *p_sel != 'o')
#endif
+#ifdef FEAT_VIRTUALEDIT
+ || (ve_flags & VE_ONEMORE)
+#endif
|| virtual_active())
curwin->w_cursor.col = len;
else
diff --git a/src/version.c b/src/version.c
index 864228edd..aa1091161 100644
--- a/src/version.c
+++ b/src/version.c
@@ -667,6 +667,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 203,
+/**/
202,
/**/
201,