From 3dfbeabf35dbfe5494a4adce7b4d94d56bbe0171 Mon Sep 17 00:00:00 2001 From: Shougo Matsushita Date: Sat, 19 Dec 2015 10:03:17 +0900 Subject: vim-patch:7.4.569/573 vim-patch:7.4.569 vim-patch:7.4.573 Helped-by: @glts https://github.com/neovim/neovim/pull/2621 Problem: Having CTRL-C interrupt or not does not check the mode of the mapping. (Ingo Karkat) Solution: Use a bitmask with the map mode. (Christian Brabandt) https://github.com/vim/vim/commit/651863c94a882a97aec7968fc87a638ff78e56ff Problem: Mapping CTRL-C in Visual mode doesn't work. (Ingo Karkat) Solution: Call get_real_state() instead of using State directly. https://github.com/vim/vim/commit/5000869712f799d9ca25c0e45dc21d332edae5f4 --- src/nvim/os/input.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/nvim/os') diff --git a/src/nvim/os/input.c b/src/nvim/os/input.c index ef6b5ff6f5..e632544856 100644 --- a/src/nvim/os/input.c +++ b/src/nvim/os/input.c @@ -19,6 +19,7 @@ #include "nvim/getchar.h" #include "nvim/main.h" #include "nvim/misc1.h" +#include "nvim/misc2.h" #define READ_BUFFER_SIZE 0xfff #define INPUT_BUFFER_SIZE (READ_BUFFER_SIZE * 4) @@ -357,7 +358,7 @@ static void read_cb(Stream *stream, RBuffer *buf, size_t c, void *data, static void process_interrupts(void) { - if (mapped_ctrl_c) { + if ((mapped_ctrl_c | curbuf->b_mapped_ctrl_c) & get_real_state()) { return; } -- cgit