# HG changeset patch # User Bram Moolenaar # Date 1644342303 -3600 # Node ID 98139cef237a1fe693ab43d9dc336cfa5985d288 # Parent 494128f79c931555babe0c12b3b59fc410b85739 patch 8.2.4328: command line complete matches cleard when typing character Commit: https://github.com/vim/vim/commit/73a16c22a4703cb9a7becdf459ce62bd894980d7 Author: Bram Moolenaar Date: Tue Feb 8 17:40:36 2022 +0000 patch 8.2.4328: command line complete matches cleard when typing character Problem: Command line complete matches cleard when typing character. (Dominique Pell?) Solution: Only remove a popup menu if there is one. diff --git a/src/ex_getln.c b/src/ex_getln.c --- a/src/ex_getln.c +++ b/src/ex_getln.c @@ -1883,7 +1883,8 @@ getcmdline_int( && c != Ctrl_L) { #ifdef FEAT_WILDMENU - cmdline_pum_remove(); + if (cmdline_pum_active()) + cmdline_pum_remove(); #endif (void)ExpandOne(&xpc, NULL, NULL, 0, WILD_FREE); did_wild_list = FALSE; diff --git a/src/testdir/dumps/Test_wildmenu_pum_30.dump b/src/testdir/dumps/Test_wildmenu_pum_30.dump new file mode 100644 --- /dev/null +++ b/src/testdir/dumps/Test_wildmenu_pum_30.dump @@ -0,0 +1,10 @@ +|~+0#4040ff13#ffffff0| @73 +|~| @73 +|~| @73 +|~| @73 +|~| @73 +|~| @73 +|:+0#0000000&|c|n| @71 +|c|n|e|w|e|r| @6|c|n|f|i|l|e| @6|c|n|o|r|e|m|a|p| @40 +|c|n|e|x|t| @7|c|n|o|r|e|a|b@1|r|e|v| @1|c|n|o|r|e|m|e|n|u| @39 +|:|c|n> @71 diff --git a/src/testdir/dumps/Test_wildmenu_pum_31.dump b/src/testdir/dumps/Test_wildmenu_pum_31.dump new file mode 100644 --- /dev/null +++ b/src/testdir/dumps/Test_wildmenu_pum_31.dump @@ -0,0 +1,10 @@ +|~+0#4040ff13#ffffff0| @73 +|~| @73 +|~| @73 +|~| @73 +|~| @73 +|~| @73 +|:+0#0000000&|c|n| @71 +|c|n|e|w|e|r| @6|c|n|f|i|l|e| @6|c|n|o|r|e|m|a|p| @40 +|c|n|e|x|t| @7|c|n|o|r|e|a|b@1|r|e|v| @1|c|n|o|r|e|m|e|n|u| @39 +|:|c|n|s> @70 diff --git a/src/testdir/test_cmdline.vim b/src/testdir/test_cmdline.vim --- a/src/testdir/test_cmdline.vim +++ b/src/testdir/test_cmdline.vim @@ -2132,6 +2132,15 @@ func Test_wildmenu_pum() call TermWait(buf) call VerifyScreenDump(buf, 'Test_wildmenu_pum_29', {}) + " Check "list" still works + call term_sendkeys(buf, "\set wildmode=longest,list\") + call term_sendkeys(buf, ":cn\") + call TermWait(buf) + call VerifyScreenDump(buf, 'Test_wildmenu_pum_30', {}) + call term_sendkeys(buf, "s") + call TermWait(buf) + call VerifyScreenDump(buf, 'Test_wildmenu_pum_31', {}) + call term_sendkeys(buf, "\\") call StopVimInTerminal(buf) call delete('Xtest') diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -747,6 +747,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 4328, +/**/ 4327, /**/ 4326,