aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/api/vim.c
diff options
context:
space:
mode:
authorWei Huang <daviseago@gmail.com>2016-09-10 23:11:05 +0800
committerJustin M. Keyes <justinkz@gmail.com>2016-09-11 03:47:16 +0200
commitc4c29696245b9ef03935335f464dbaa2b46c2ba5 (patch)
tree9ebc093bc5cad06cab0c616e2136d89db45c3d48 /src/nvim/api/vim.c
parentca65514a241b239e656cb87f0912bd9ba2e18ad8 (diff)
downloadrneovim-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.c8
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