From c4c29696245b9ef03935335f464dbaa2b46c2ba5 Mon Sep 17 00:00:00 2001 From: Wei Huang Date: Sat, 10 Sep 2016 23:11:05 +0800 Subject: 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 --- src/nvim/api/vim.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'src/nvim/api/vim.c') 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 -- cgit