diff options
author | Bram Moolenaar <Bram@vim.org> | 2021-05-15 15:09:06 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2021-05-15 15:09:06 +0200 |
commit | d832c3c56ec7043322ad3e99897e312700fa1d3e (patch) | |
tree | 95919cb760135c65c8158c5d076277ffa372f2aa /src/ex_getln.c | |
parent | 761ead497feff5fd259c9f6ca76d184bb8755373 (diff) | |
download | vim-git-d832c3c56ec7043322ad3e99897e312700fa1d3e.tar.gz |
patch 8.2.2853: window is not updated after using <Cmd> mappingv8.2.2853
Problem: Window is not updated after using <Cmd> mapping.
Solution: So jump to cmdline_changed but skip autocommand.
Diffstat (limited to 'src/ex_getln.c')
-rw-r--r-- | src/ex_getln.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/ex_getln.c b/src/ex_getln.c index e87b208cc..4ebc34110 100644 --- a/src/ex_getln.c +++ b/src/ex_getln.c @@ -1734,6 +1734,8 @@ getcmdline_int( */ for (;;) { + int trigger_cmdlinechanged = TRUE; + redir_off = TRUE; // Don't redirect the typed command. // Repeated, because a ":redir" inside // completion may switch it on. @@ -1764,7 +1766,7 @@ getcmdline_int( if (do_cmdline(NULL, getcmdkeycmd, NULL, DOCMD_NOWAIT) == OK) { if (clen == ccline.cmdlen) - goto cmdline_not_changed; + trigger_cmdlinechanged = FALSE; goto cmdline_changed; } } @@ -2380,8 +2382,9 @@ cmdline_changed: if (is_state.winid != curwin->w_id) init_incsearch_state(&is_state); #endif - // Trigger CmdlineChanged autocommands. - trigger_cmd_autocmd(cmdline_type, EVENT_CMDLINECHANGED); + if (trigger_cmdlinechanged) + // Trigger CmdlineChanged autocommands. + trigger_cmd_autocmd(cmdline_type, EVENT_CMDLINECHANGED); #ifdef FEAT_SEARCH_EXTRA if (xpc.xp_context == EXPAND_NOTHING) |