aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/api/vim.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/nvim/api/vim.c')
-rw-r--r--src/nvim/api/vim.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/nvim/api/vim.c b/src/nvim/api/vim.c
index 6d6fd85266..3631fbff66 100644
--- a/src/nvim/api/vim.c
+++ b/src/nvim/api/vim.c
@@ -1252,11 +1252,15 @@ Boolean nvim_paste(String data, Integer phase, Error *err)
}
}
}
+ api_free_object(rv);
+ api_free_array(args);
if (!(State & CMDLINE) && !(State & INSERT) && (phase == -1 || phase == 3)) {
AppendCharToRedobuff(ESC); // Dot-repeat.
}
- api_free_object(rv);
- api_free_array(args);
+ if (phase == -1 || phase == 3) {
+ // XXX: Tickle main loop to ensure cursor is updated.
+ loop_schedule_deferred(&main_loop, event_create(loop_dummy_event, 0));
+ }
return ok;
}