diff options
author | Bram Moolenaar <Bram@vim.org> | 2022-02-08 17:40:36 +0000 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2022-02-08 17:40:36 +0000 |
commit | 73a16c22a4703cb9a7becdf459ce62bd894980d7 (patch) | |
tree | 4b5f54f6818c002c14bfbf3ce7f4cd1744e2b071 | |
parent | e3537aec2f8d6470010547af28dcbd83d41461b8 (diff) | |
download | vim-git-8.2.4328.tar.gz |
patch 8.2.4328: command line complete matches cleard when typing characterv8.2.4328
Problem: Command line complete matches cleard when typing character.
(Dominique Pellé)
Solution: Only remove a popup menu if there is one.
-rw-r--r-- | src/ex_getln.c | 3 | ||||
-rw-r--r-- | src/testdir/dumps/Test_wildmenu_pum_30.dump | 10 | ||||
-rw-r--r-- | src/testdir/dumps/Test_wildmenu_pum_31.dump | 10 | ||||
-rw-r--r-- | src/testdir/test_cmdline.vim | 9 | ||||
-rw-r--r-- | src/version.c | 2 |
5 files changed, 33 insertions, 1 deletions
diff --git a/src/ex_getln.c b/src/ex_getln.c index 5def8a6a2..63f1c5dcb 100644 --- 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 index 000000000..76e4780ea --- /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 index 000000000..157f16c89 --- /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 index 7faf811db..175647dd1 100644 --- 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, "\<C-U>set wildmode=longest,list\<CR>") + call term_sendkeys(buf, ":cn\<Tab>") + 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, "\<C-U>\<CR>") call StopVimInTerminal(buf) call delete('Xtest') diff --git a/src/version.c b/src/version.c index 9d5fbc2e3..7e61af9ed 100644 --- 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, |