diff options
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 0eb7d86c10..5614ea6a9e 100644 --- a/src/ex_getln.c +++ b/src/ex_getln.c @@ -1785,13 +1785,16 @@ getcmdline_int( if (c == K_COMMAND || c == K_SCRIPT_COMMAND) { + int clen = ccline.cmdlen; int cc_count = aucmd_cmdline_changed_count; if (do_cmdkey_command(c, DOCMD_NOWAIT) == OK) { - // Do not trigger CmdlineChanged below if the <Cmd> mapping - // already did that. - if (cc_count != aucmd_cmdline_changed_count) + // Do not trigger CmdlineChanged below if: + // - the length of the command line didn't change + // - the <Cmd> mapping already triggered the event + if (clen == ccline.cmdlen + || cc_count != aucmd_cmdline_changed_count) trigger_cmdlinechanged = FALSE; goto cmdline_changed; } |