summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/ops.c10
-rw-r--r--src/version.c2
2 files changed, 8 insertions, 4 deletions
diff --git a/src/ops.c b/src/ops.c
index 82107cc48..f348a890e 100644
--- a/src/ops.c
+++ b/src/ops.c
@@ -2468,9 +2468,10 @@ op_insert(oap, count1)
edit(NUL, FALSE, (linenr_T)count1);
- /* if user has moved off this line, we don't know what to do, so do
- * nothing */
- if (curwin->w_cursor.lnum != oap->start.lnum)
+ /* If user has moved off this line, we don't know what to do, so do
+ * nothing.
+ * Also don't repeat the insert when Insert mode ended with CTRL-C. */
+ if (curwin->w_cursor.lnum != oap->start.lnum || got_int)
return;
if (oap->block_mode)
@@ -2601,8 +2602,9 @@ op_change(oap)
/*
* In Visual block mode, handle copying the new text to all lines of the
* block.
+ * Don't repeat the insert when Insert mode ended with CTRL-C.
*/
- if (oap->block_mode && oap->start.lnum != oap->end.lnum)
+ if (oap->block_mode && oap->start.lnum != oap->end.lnum && !got_int)
{
/* Auto-indenting may have changed the indent. If the cursor was past
* the indent, exclude that indent change from the inserted text. */
diff --git a/src/version.c b/src/version.c
index 55fdbac99..676f901f2 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 */
/**/
+ 192,
+/**/
191,
/**/
190,