1
0
forked from aniani/vim

patch 9.0.1039: using a <Cmd> mapping CmdlineChanged may be triggered twice

Problem:    Using a <Cmd> mapping CmdlineChanged may be triggered twice.
Solution:   Count the number of times CmdlineChanged is triggered and avoid
            doing it twice. (closes #116820
This commit is contained in:
Bram Moolenaar
2022-12-09 12:21:50 +00:00
parent ffa4e9b43a
commit bb393d8259
5 changed files with 23 additions and 4 deletions

View File

@@ -1785,11 +1785,13 @@ 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)
{
if (clen == ccline.cmdlen)
// Do not trigger CmdlineChanged below if the <Cmd> mapping
// already did that.
if (cc_count != aucmd_cmdline_changed_count)
trigger_cmdlinechanged = FALSE;
goto cmdline_changed;
}