From c5c506666c20c371ba17a626de0bb913080663dc Mon Sep 17 00:00:00 2001 From: Shougo Matsushita Date: Thu, 18 Sep 2014 20:13:56 +0900 Subject: [PATCH] vim-patch:7.4.382 Problem: Mapping characters may not work after typing Esc in Insert mode. Solution: Fix the noremap flags for inserted characters. (Jacob Niehus) https://code.google.com/p/vim/source/detail?r=v7-4-382 --- src/nvim/getchar.c | 6 ++++++ src/nvim/version.c | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/nvim/getchar.c b/src/nvim/getchar.c index 0d61172d69..c3f6e2c2b6 100644 --- a/src/nvim/getchar.c +++ b/src/nvim/getchar.c @@ -2209,6 +2209,12 @@ static int vgetorpeek(int advance) } if (c < 0) continue; /* end of input script reached */ + + // Allow mapping for just typed characters. When we get here c + // is the number of extra bytes and typebuf.tb_len is 1. + for (n = 1; n <= c; n++) { + typebuf.tb_noremap[typebuf.tb_off + n] = RM_YES; + } typebuf.tb_len += c; /* buffer full, don't map */ diff --git a/src/nvim/version.c b/src/nvim/version.c index e80c1f81a1..f80b2f8a41 100644 --- a/src/nvim/version.c +++ b/src/nvim/version.c @@ -213,7 +213,7 @@ static int included_patches[] = { //385, //384 NA 383, - //382, + 382, 381, //380 NA 379,