From bb393d8259af8aec095e96d81624a16ed9f25005 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Fri, 9 Dec 2022 12:21:50 +0000 Subject: patch 9.0.1039: using a mapping CmdlineChanged may be triggered twice Problem: Using a mapping CmdlineChanged may be triggered twice. Solution: Count the number of times CmdlineChanged is triggered and avoid doing it twice. (closes #116820 --- src/ex_getln.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src/ex_getln.c') diff --git a/src/ex_getln.c b/src/ex_getln.c index 4bd200d33f..0eb7d86c10 100644 --- a/src/ex_getln.c +++ b/src/ex_getln.c @@ -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 mapping + // already did that. + if (cc_count != aucmd_cmdline_changed_count) trigger_cmdlinechanged = FALSE; goto cmdline_changed; } -- cgit v1.2.3