updated for version 7.0117
diff --git a/src/ops.c b/src/ops.c
index 8941941..b5492c6 100644
--- a/src/ops.c
+++ b/src/ops.c
@@ -1580,9 +1580,15 @@
&& *ml_get(oap->start.lnum) == NUL)
{
/*
- * It's an error to operate on an empty region, when 'E' inclucded in
+ * It's an error to operate on an empty region, when 'E' included in
* 'cpoptions' (Vi compatible).
*/
+#ifdef FEAT_VIRTUALEDIT
+ if (virtual_op)
+ /* Virtual editing: Nothing gets deleted, but we set the '[ and ']
+ * marks as if it happened. */
+ goto setmarks;
+#endif
if (vim_strchr(p_cpo, CPO_EMPTYREGION) != NULL)
beep_flush();
return OK;
@@ -1858,6 +1864,9 @@
msgmore(curbuf->b_ml.ml_line_count - old_lcount);
+#ifdef FEAT_VIRTUALEDIT
+setmarks:
+#endif
#ifdef FEAT_VISUAL
if (oap->block_mode)
{