patch 8.2.2851: using <Cmd> mapping on the command line triggers CmdlineChanged
Problem: Using <Cmd> mapping on the command line triggers CmdlineChanged.
(Naohiro Ono)
Solution: Jump to cmdline_not_changed if the command line didn't change.
(closes #8208)
diff --git a/src/ex_getln.c b/src/ex_getln.c
index a9f33e6..e87b208 100644
--- a/src/ex_getln.c
+++ b/src/ex_getln.c
@@ -1757,9 +1757,17 @@
c = safe_vgetc();
} while (c == K_IGNORE || c == K_NOP);
- if (c == K_COMMAND
- && do_cmdline(NULL, getcmdkeycmd, NULL, DOCMD_NOWAIT) == OK)
- goto cmdline_changed;
+ if (c == K_COMMAND)
+ {
+ int clen = ccline.cmdlen;
+
+ if (do_cmdline(NULL, getcmdkeycmd, NULL, DOCMD_NOWAIT) == OK)
+ {
+ if (clen == ccline.cmdlen)
+ goto cmdline_not_changed;
+ goto cmdline_changed;
+ }
+ }
if (KeyTyped)
{