aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/edit.c
diff options
context:
space:
mode:
authorThiago de Arruda <tpadilha84@gmail.com>2014-11-21 17:08:29 -0300
committerThiago de Arruda <tpadilha84@gmail.com>2014-11-21 17:08:29 -0300
commitaf5eaf22c529205ea75665df4a917b9294419f12 (patch)
treed204eca11f8ea4fa128016f68a1bc0f8af62ff18 /src/nvim/edit.c
parent2c29b20af767bd7ebebeb41da14df4d66a19d5a0 (diff)
parentf09a33bbc131138f67aa13752559ade2d4e577c2 (diff)
downloadrneovim-af5eaf22c529205ea75665df4a917b9294419f12.tar.gz
rneovim-af5eaf22c529205ea75665df4a917b9294419f12.tar.bz2
rneovim-af5eaf22c529205ea75665df4a917b9294419f12.zip
Merge PR #1518 'Improve functional tests and perform explicit K_EVENT handling'
Diffstat (limited to 'src/nvim/edit.c')
-rw-r--r--src/nvim/edit.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/nvim/edit.c b/src/nvim/edit.c
index d7910347fc..b9ecbc71fe 100644
--- a/src/nvim/edit.c
+++ b/src/nvim/edit.c
@@ -593,9 +593,17 @@ edit (
* Get a character for Insert mode. Ignore K_IGNORE.
*/
lastc = c; /* remember previous char for CTRL-D */
+ event_enable_deferred();
do {
c = safe_vgetc();
} while (c == K_IGNORE);
+ event_disable_deferred();
+
+ if (c == K_EVENT) {
+ c = lastc;
+ event_process();
+ continue;
+ }
/* Don't want K_CURSORHOLD for the second key, e.g., after CTRL-V. */
did_cursorhold = TRUE;
@@ -943,10 +951,6 @@ doESCkey:
did_cursorhold = TRUE;
break;
- case K_EVENT:
- event_process();
- break;
-
case K_HOME: /* <Home> */
case K_KHOME:
case K_S_HOME: