diff options
author | Wei Huang <daviseago@gmail.com> | 2016-09-10 23:11:05 +0800 |
---|---|---|
committer | Justin M. Keyes <justinkz@gmail.com> | 2016-09-11 03:47:16 +0200 |
commit | c4c29696245b9ef03935335f464dbaa2b46c2ba5 (patch) | |
tree | 9ebc093bc5cad06cab0c616e2136d89db45c3d48 /src/nvim/api/vim.c | |
parent | ca65514a241b239e656cb87f0912bd9ba2e18ad8 (diff) | |
download | rneovim-c4c29696245b9ef03935335f464dbaa2b46c2ba5.tar.gz rneovim-c4c29696245b9ef03935335f464dbaa2b46c2ba5.tar.bz2 rneovim-c4c29696245b9ef03935335f464dbaa2b46c2ba5.zip |
vim-patch:7.4.1533 #5320
Problem: Using feedkeys() with an empty string disregards 'x' option.
Solution: Make 'x' work with an empty string. (Thinca)
When integrating the patch to nvim, used same logic but different code
based on nvim codebase. New test passed.
https://github.com/vim/vim/commit/74c5bbf13435a7ab1e3461078bbcb1200f0451e1
Diffstat (limited to 'src/nvim/api/vim.c')
-rw-r--r-- | src/nvim/api/vim.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/nvim/api/vim.c b/src/nvim/api/vim.c index bba7d7b9c2..b1572037cb 100644 --- a/src/nvim/api/vim.c +++ b/src/nvim/api/vim.c @@ -59,10 +59,6 @@ void nvim_feedkeys(String keys, String mode, Boolean escape_csi) bool typed = false; bool execute = false; - if (keys.size == 0) { - return; - } - for (size_t i = 0; i < mode.size; ++i) { switch (mode.data[i]) { case 'n': remap = false; break; @@ -73,6 +69,10 @@ void nvim_feedkeys(String keys, String mode, Boolean escape_csi) } } + if (keys.size == 0 && !execute) { + return; + } + char *keys_esc; if (escape_csi) { // Need to escape K_SPECIAL and CSI before putting the string in the |