summaryrefslogtreecommitdiffstats
path: root/src/evalfunc.c
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2019-01-30 22:01:40 +0100
committerBram Moolenaar <Bram@vim.org>2019-01-30 22:01:40 +0100
commit8d4ce56a19ed14d13332f94ad592fff2d9a715d5 (patch)
tree48923c078cb612eee726add6977402f9a6f184bc /src/evalfunc.c
parent98ad1e17c3f71962862f959c6ba57dd01e8a83c2 (diff)
patch 8.1.0851: feedkeys() with "L" does not work properlyv8.1.0851
Problem: feedkeys() with "L" does not work properly. Solution: Do not set typebuf_was_filled when using "L". (Ozaki Kiichi, closes #3885)
Diffstat (limited to 'src/evalfunc.c')
-rw-r--r--src/evalfunc.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/src/evalfunc.c b/src/evalfunc.c
index c7ba6f3081..374e70132f 100644
--- a/src/evalfunc.c
+++ b/src/evalfunc.c
@@ -3705,15 +3705,18 @@ f_feedkeys(typval_T *argvars, typval_T *rettv UNUSED)
#endif
}
else
+ {
ins_typebuf(keys_esc, (remap ? REMAP_YES : REMAP_NONE),
insert ? 0 : typebuf.tb_len, !typed, FALSE);
- vim_free(keys_esc);
- if (vgetc_busy
+ if (vgetc_busy
#ifdef FEAT_TIMERS
- || timer_busy
+ || timer_busy
#endif
- )
- typebuf_was_filled = TRUE;
+ )
+ typebuf_was_filled = TRUE;
+ }
+ vim_free(keys_esc);
+
if (execute)
{
int save_msg_scroll = msg_scroll;