diff options
author | Thiago de Arruda <tpadilha84@gmail.com> | 2014-11-21 15:34:18 -0300 |
---|---|---|
committer | Thiago de Arruda <tpadilha84@gmail.com> | 2014-11-21 15:41:02 -0300 |
commit | f09a33bbc131138f67aa13752559ade2d4e577c2 (patch) | |
tree | d204eca11f8ea4fa128016f68a1bc0f8af62ff18 /src/nvim/normal.c | |
parent | 230c935e73c0eb8359b18f0da9ce2238cd7830bc (diff) | |
download | rneovim-f09a33bbc131138f67aa13752559ade2d4e577c2.tar.gz rneovim-f09a33bbc131138f67aa13752559ade2d4e577c2.tar.bz2 rneovim-f09a33bbc131138f67aa13752559ade2d4e577c2.zip |
event: No longer process K_EVENT automatically
Two new functions, `event_enable_deferred()`/`event_disable_deferred()` have to
be called by code that is capable of handling asynchronicity. User-dialog states
like "press ENTER to continue" or the swap file confirmation no longer will
generate K_EVENT.
Diffstat (limited to 'src/nvim/normal.c')
-rw-r--r-- | src/nvim/normal.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/src/nvim/normal.c b/src/nvim/normal.c index 29070ff188..f58e044c2c 100644 --- a/src/nvim/normal.c +++ b/src/nvim/normal.c @@ -312,7 +312,6 @@ static const struct nv_cmd { {K_F8, farsi_fkey, 0, 0}, {K_F9, farsi_fkey, 0, 0}, {K_CURSORHOLD, nv_cursorhold, NV_KEEPREG, 0}, - {K_EVENT, nv_event, NV_KEEPREG, 0}, }; /* Number of commands in nv_cmds[]. */ @@ -483,7 +482,15 @@ normal_cmd ( /* * Get the command character from the user. */ + event_enable_deferred(); c = safe_vgetc(); + event_disable_deferred(); + + if (c == K_EVENT) { + event_process(); + return; + } + LANGMAP_ADJUST(c, true); /* @@ -7373,8 +7380,3 @@ static void nv_cursorhold(cmdarg_T *cap) did_cursorhold = true; cap->retval |= CA_COMMAND_BUSY; /* don't call edit() now */ } - -static void nv_event(cmdarg_T *cap) -{ - event_process(); -} |