aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/api/vim.c
diff options
context:
space:
mode:
authorMichael Ennen <mike.ennen@gmail.com>2016-05-22 01:33:27 -0700
committerMichael Ennen <mike.ennen@gmail.com>2016-06-07 01:14:25 -0700
commit24a329b53aa3be03ed79768cca04d63d6bb93891 (patch)
tree62d756b86dd7e6c7ba73660b0ac679475500d776 /src/nvim/api/vim.c
parent40e7efe91cb60fc65eafece2c923a527d55de20d (diff)
downloadrneovim-24a329b53aa3be03ed79768cca04d63d6bb93891.tar.gz
rneovim-24a329b53aa3be03ed79768cca04d63d6bb93891.tar.bz2
rneovim-24a329b53aa3be03ed79768cca04d63d6bb93891.zip
vim-patch:7.4.1151
Problem: Missing change to eval.c Solution: Also change feedkeys(). https://github.com/vim/vim/commit/5f8a14b9dea094b8bbab94cfc1e8da8e633fbc01
Diffstat (limited to 'src/nvim/api/vim.c')
-rw-r--r--src/nvim/api/vim.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/nvim/api/vim.c b/src/nvim/api/vim.c
index 46d72b847d..43d58a539a 100644
--- a/src/nvim/api/vim.c
+++ b/src/nvim/api/vim.c
@@ -57,6 +57,7 @@ void vim_feedkeys(String keys, String mode, Boolean escape_csi)
bool remap = true;
bool insert = false;
bool typed = false;
+ bool execute = false;
if (keys.size == 0) {
return;
@@ -68,6 +69,7 @@ void vim_feedkeys(String keys, String mode, Boolean escape_csi)
case 'm': remap = true; break;
case 't': typed = true; break;
case 'i': insert = true; break;
+ case 'x': execute = true; break;
}
}
@@ -86,8 +88,12 @@ void vim_feedkeys(String keys, String mode, Boolean escape_csi)
xfree(keys_esc);
}
- if (vgetc_busy)
+ if (vgetc_busy) {
typebuf_was_filled = true;
+ }
+ if (execute) {
+ exec_normal(true);
+ }
}
/// Passes input keys to Neovim. Unlike `vim_feedkeys`, this will use a